matlab 龙格库塔解的复杂微分方程组,自己编的计算简单的方程可以,解复杂的方程组可能不对。请高手指点

2024-11-01 15:32:52
推荐回答(1个)
回答1:

用matlab的龙格-库塔法求解复杂微分方程组的关键,在于建立自定义微分方程组函数。你的问题主要是没有利用数组格式来写,没有理顺其之间的关系。具体应按下列格式书写

function dy=odefun(t,y)

ft=0.005*t^3-350*t^2+0.002*t;

hy1=0.5*y(1)^3+0.002*y(1)^2+0.005;

dy(1)=500*ft*sin(t)/(hy1*y(1));

dy(2)=y(2)*(y(1)+(700-2*y(2))*tan(0.5*t))/(700-y(1)*tan(0.5*t));

dy=dy(:);

end

调用格式为

y0=[0.001,0];

[t,y]=ode45(@odefun,[0.58:-0.001:0],y0)

运行结果