我有一个非线性系统,我想根据初始条件找到时域响应,并在MATLAB中绘制,但我不知道如何。
我的系统是
d/ ⌈x⌉ _ ⌈-x+y*x^2 ⌉
/dt ⌊y⌋ ‾ ⌊ -y ⌋
初始条件[x0;y0]
为[2;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秒时发散。