matlab 龙格库塔解的复杂微分方程组,自己编的计算简单的方程可以,解复杂的方程组可能不对。请高手指点
dy1=500*f(t)*sin(t)/(h(y1)*y1);dy2=y2*(y1+(700-2*y2)*tan(0.5*t))/(700-y1*tan(0.5*t));...
dy1=500*f(t)*sin(t)/(h(y1)*y1); dy2=y2*(y1+(700-2*y2)*tan(0.5*t))/(700-y1*tan(0.5*t)); f(t)=0.005*t^3-350*t^2+0.002*t; h(y1)=0.5*y1^3+0.002*y1^2+0.005. t=[0.58 0], 初值t=0.58时,[38 95],步进h=0.001.
展开
展开全部
用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)
运行结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询