用matlab求解常系数微分方程组并画出图像哪位大神帮我用matlab解以下微分方程组并作出图像麻烦给出语句dx1/dt=x1*(1-x1/150000-0.5*x2/30000)dx2/dt=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200)dx3/dt=x3*(-1-x3/2200+2*x2/30
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 16:54:36
用matlab求解常系数微分方程组并画出图像哪位大神帮我用matlab解以下微分方程组并作出图像麻烦给出语句dx1/dt=x1*(1-x1/150000-0.5*x2/30000)dx2/dt=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200)dx3/dt=x3*(-1-x3/2200+2*x2/30
用matlab求解常系数微分方程组并画出图像
哪位大神帮我用matlab解以下微分方程组并作出图像
麻烦给出语句
dx1/dt=x1*(1-x1/150000-0.5*x2/30000)
dx2/dt=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200)
dx3/dt=x3*(-1-x3/2200+2*x2/30000)
x1(0)=121000
x2(0)=27000
x3(0)=2000
用matlab求解常系数微分方程组并画出图像哪位大神帮我用matlab解以下微分方程组并作出图像麻烦给出语句dx1/dt=x1*(1-x1/150000-0.5*x2/30000)dx2/dt=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200)dx3/dt=x3*(-1-x3/2200+2*x2/30
1定义函数:
function y=fun(t,x)
y=zeros(3,1);
x1=x(1);x2=x(2);x3=x(3);
y(1)=x1*(1-x1/150000-0.5*x2/30000);
y(2)=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200);
y(3)=x3*(-1-x3/2200+2*x2/30000);
2解方程并画图
[t,x]=ode23(@fun,[0,1],[121000,27000,2000]);
hold on
plot(t,x(:,1))
plot(t,x(:,2))
plot(t,x(:,3))
3结果
>> f=@(t,x)[x(1)*(1-x(1)/150000-0.5*x(2)/30000); ...
x(2)*(-1-x(2)/30000+0.5*x(1)/150000-2*x(3)/2200); ...
x(3)*(-1-x(3)/2200+2*x(2)/30000)];
t_final=100;
x0=[121000;27000;2000];
...
全部展开
>> f=@(t,x)[x(1)*(1-x(1)/150000-0.5*x(2)/30000); ...
x(2)*(-1-x(2)/30000+0.5*x(1)/150000-2*x(3)/2200); ...
x(3)*(-1-x(3)/2200+2*x(2)/30000)];
t_final=100;
x0=[121000;27000;2000];
[t,x]=ode45(f,[0 t_final],x0);
plot(t,x),figure;
plot3(x(:,1),x(:,2),x(:,3));
t_final是设定的仿真终止时间,可以自己修改其值,即题中t的变化
,第一个绘图绘制出系统各个状态和时间关系的二维曲线,第二个绘图
绘制出三个状态的相空间曲线。如果要显示出对应的t值与对应的x值,用
disp([t,x])
收起
利用ode45函数,基本上所有的MATLAB参考书上都有
http://zhidao.baidu.com/question/111304564.html