用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)
运行结果