matlab常微分方程组求解

...   展开
 我来答
牛煦关兴业
2019-04-28 · TA获得超过3653个赞
知道大有可为答主
回答量:3103
采纳率:34%
帮助的人:201万
展开全部
上面两题用dsolve都解不出,用ode45数值解法如下:
1题中x1=i,x2=s,则:
syms
x1(t)
x2(t)
lamda=0.5;u=0.1;
V
=
odeToVectorField(diff(x1)
==lamda*x1*x2-u*x2,diff(x2)
==-lamda*x1*x2+0.1)
M
=
matlabFunction(V,'vars',
{'t','Y'})
%计算区间[0
1],初值[0
0]
options
=
odeset('OutputFcn',@odeplot);
sol
=
ode45(M,[0
1],[0
0],options)
2题中x=x1,y=x2,z=x3,则:
syms
x1(t)
x2(t)
x3(t)
V
=
odeToVectorField(diff(x1)
==-8/3*x1+x2*x3,diff(x2)
==-10*x2+10*x3,diff(x3)==-x1*x2+28*x2-x3)
M
=
matlabFunction(V,'vars',
{'t','Y'})
%计算区间[0
1],初值[0
0
1.0e-8]
options
=
odeset('OutputFcn',@odeplot);
sol
=
ode45(M,[0
4],[0
0
1.0e-8],options)
figure
x
=
linspace(0,4,100);
y
=
deval(sol,x,1:3);
plot(y(1,:),y(2,:))
title('x-y相图')
xlabel('x'),ylabel('y')
grid
on
figure
plot(y(1,:),y(3,:))
title('x-z相图')
xlabel('x'),ylabel('z')
grid
on
figure
plot3(y(1,:),y(2,:),y(3,:))
title('x-y-z相图')
xlabel('x'),ylabel('y'),zlabel('z')
grid
on
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式