如何求解和绘制非线性微分方程系统?

时间:2016-10-15 10:28:39

标签: matlab plot ode differential-equations nonlinear-functions

我有一个非线性系统,我想根据初始条件找到时域响应,并在MATLAB中绘制,但我不知道如何。

我的系统是

d/  ⌈x⌉ _ ⌈-x+y*x^2 ⌉
/dt ⌊y⌋ ‾ ⌊   -y    ⌋

初始条件[x0;y0][2;1]

问候,

1 个答案:

答案 0 :(得分:1)

我使用ode45函数解决了你的问题。例如,我会写一个名为Main.m的文件:

close all
[tcont,Xcont]=ode45(@eqStac,[0 2.5],[2 ;1],[]);
plot(tcont,Xcont(:,1),'*r');
hold on
plot(tcont,Xcont(:,2),'*');

然后我必须在文件eqStac.m中创建一个计算系统的函数:

function xpoint=eqStac(t,x)
xpoint(1)=-x(1)+x(2)*x(1)^2;
xpoint(2)=-x(2);
xpoint=xpoint(:);
end

最后你会得到这个情节:

x为红色,y为蓝色: server

我评论说你的系统在大约4.8秒时发散。