我论文需要用MATLAB求解微分方程,Dx=-0.85*x+0.25*y+0.35*z-0.8*x^2*y,Dy=0.8*x^2*y-1.2*y,Dz=0.9*x+0.8*y-0.3*z用MATLAB画出该微分方程的图像
来源:学生作业学帮网 编辑:学帮网 时间:2024/05/13 18:42:09
我论文需要用MATLAB求解微分方程,
Dx=-0.85*x+0.25*y+0.35*z-0.8*x^2*y,
Dy=0.8*x^2*y-1.2*y,
Dz=0.9*x+0.8*y-0.3*z
用MATLAB画出该微分方程的图像
用dsolve求不出解析解,用数值解法吧,最好能提供初始条件,这里假设t=0时,x0=1,y0=2,z0=3.
function hh
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*x(2)-1.2*x(2);
dzdt=0.9*x(1)+0.8*x(2)-0.3*x(3);
yhat=[dxdt;dydt;dzdt];
结果:
t =
0
0.0145
0.0435
0.0726
0.1120
0.1730
0.2341
0.2951
0.3718
0.4485
0.5435
0.6386
0.7337
0.8287
0.9238
1.0000
x =
1.0000 2.0000 3.0000
0.9879 1.9879 3.0228
0.9653 1.9629 3.0677
0.9459 1.9363 3.1110
0.9239 1.8985 3.1675
0.8979 1.8374 3.2500
0.8799 1.7748 3.3269
0.8680 1.7121 3.3984
0.8595 1.6348 3.4816
0.8565 1.5599 3.5578
0.8583 1.4717 3.6437
0.8645 1.3893 3.7212
0.8738 1.3127 3.7912
0.8852 1.2421 3.8546
0.8980 1.1772 3.9121
0.9090 1.1291 3.9544