查看单个帖子
旧 2009-03-17, 09:19   #3
smiles860710
初级会员
 
注册日期: 2009-02-17
年龄: 38
帖子: 16
声望力: 17
smiles860710 正向着好的方向发展
默认 回复: [讨论]怎样在matlab中用四阶Runge-kutta法求解四阶常微分方程

以二阶微分方程为例
y1''-(1-y1^2)*y1'+y1=0
降阶令y2=y1'
y2'=(1-y1^2)*y2-y1
M文件
function dydx=vdp1(x,y)

dydx=[y(2);(1-y(1)^2)*y(2)-y(1)];

end在命令窗口输入[x,y]=ode45(@vdp1,[0 20],[20,5])就可得到结果
smiles860710 当前离线   回复时引用此帖