想用matlab画出微分方程组dx/dt=-5*x+y+1;dy/dt=x-0.6*y+1;初值取不同值时的x-y相图,谢谢
微分方程组dx/dt=-5*x+y+1;dy/dt=x-0.6*y+1;初值取不同值时的x-y相图,如果可以,for循环就行了...
微分方程组dx/dt=-5*x+y+1;dy/dt=x-0.6*y+1;初值取不同值时的x-y相图,如果可以,for循环就行了
展开
1个回答
展开全部
对于求解初值不同取值时的x-y相图,可以这样来解决。解决方法:
1、将不同的初值,赋值给xspan,即
xspan=[0,0;0.5,0.5;1,1;2,2]; %根据要求设定
2、使用for循环语句,取任意一对初值,进行计算。
3、将得到的每组【x,y】,使用plot函数绘制x-y的相位图,使用hold on命令,将若干组x-y的相位图绘制在同一图形窗口中。即
4、使用legend函数标注图例和title函数标题
5、实现代码
func=@(t,x)[-5*x(1)+x(2)+1;x(1)-0.6*x(2)+1];
tspan=[0,10];
xspan=[0,0;0.5,0.5;1,1;2,2]
for i=1:4
x0=xspan(i,:);
[t,x]=ode45(@(t,x)func(t,x),tspan,x0);
plot(x(:,1),x(:,2),'.-'),hold on
end
legend('x0=0,y0=0','x0=0.5,y0=0.5','x0=1,y0=1','x0=2,y0=2')
xlabel('x'),ylabel('y')
title('初值不同值时的x-y相位图')
执行上述代码,运行可以得到如下结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询