1

其实我又在问同样的问题

DX=y

dy=-k*yx^3+9.8*cos(t)

inits=('x(0)=0,y(0)=0')

这些是我想要绘制的微分方程。

首先,我尝试求解微分方程,然后绘制图形。

Dsolve('Dx=y','Dy=-k*yx^3+9.8*cos(t)', inits)

然而,像这样,这个系统没有明确的解决方案。

现在我被困住了:(

你怎么能在不解方程的情况下绘制这个系统?

Chris Taylor 通过绘制 y vs t 和 x vs t 图解决了我的问题。

但是我想知道绘制 y vs x 图形的方法(这是对的吗?我的意思是带有垂直轴 y 和水平轴 x 的图形)

请帮我

4

1 回答 1

3

使用 Chris Taylor回答中的代码如下:

k = 1;
f = @(t,x) [x(2); -k * x(2) - x(1)^3 + 9.8 * cos(t)];
tspan = [0, 10];
xinit = [0, 0];
[t, y] = ode45(f, tspan, xinit);

为您提供值 x 和 y 作为 t 从 0 到 10 的函数,分别存储在 y 的第一列和第二列中。因此,您可以通过简单地调用来绘制 y(x)

plot(y(:,2),y(:,1));
于 2013-04-16T18:27:12.597 回答