Dx=y
Dy=-k*y-x^3+9.8*cos(t)
inits=('x(0)=0,y(0)=0')
这些是我想绘制的微分方程。如何绘制matlab中的非线性微分方程
首先,我试图解决微分方程,然后绘制图。
Dsolve('Dx=y','Dy=-k*y-x^3+9.8*cos(t)', inits)
像这样,但是,这个系统没有明确的解决方案。
现在我被困:(
你怎么能画出这个系统,无需解方程
Dx=y
Dy=-k*y-x^3+9.8*cos(t)
inits=('x(0)=0,y(0)=0')
这些是我想绘制的微分方程。如何绘制matlab中的非线性微分方程
首先,我试图解决微分方程,然后绘制图。
Dsolve('Dx=y','Dy=-k*y-x^3+9.8*cos(t)', inits)
像这样,但是,这个系统没有明确的解决方案。
现在我被困:(
你怎么能画出这个系统,无需解方程
首先定义要解决它需要一个函数,有两个参数的微分方程? - 当前时间t
和当前位置x
,并返回一个列向量。相反,x和y的,我们将使用x(1)
和x(2)
。
k = 1;
f = @(t,x) [x(2); -k * x(2) - x(1)^3 + 9.8 * cos(t)];
防守INE要解决在时间跨度和初始条件:
tspan = [0, 10];
xinit = [0, 0];
现在求解方程数值使用ode45
:
ode45(f, tspan, xinit)
,导致该地块:
如果您想在时间点获取解决方案的值,那么只需要输入一些参数:
[t, y] = ode45(f, tspan, xinit);
您可以通过执行
plot(y(:,1), y(:,2)), xlabel('x'), ylabel('y'), grid
导致以下情节
Yoy谢谢。但是现在,我怎样才能得到x(1)与x(2)的图?不过,非常感谢帮助我。 –
@ShawnSihyunJeon我编辑,告诉你如何绘制。 –
很酷。非常感谢! –
确定X,Y,T,并通过绘制相图X对ÿ – apomene