查看单个帖子
旧 2008-08-21, 12:49   #2
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [讨论]【SOS】在matlab中四阶Runge-Kutta法求解常微分方程

HTML 代码:
dx1/dt=x2 x1(0)=1e-8
dx2/dt=x3 x2(0)=0
dx3/dt=x4 x3(0)=0
dx4/dt=f(t,x1,x2,x3,x4) x4(0)=0

求解区间[0,1e-6],在matlab中用四阶Runge-Kutta法求解,


编写函数文件verderpol.m
代码:
 
function xprime = verderpol(t,x)
xprime = [x(4);f(t,x1,x2,x3,x4)];
再在命令窗口中执行:
代码:
 
>>Y0=[1e-8;0;0;0]
>>[t,x] = ode45(‘verderpol’,0,1e-6,Y0);
>>x1=x(:,1);x2=x(:,2);x3=x(:,3);x4=x(:,4);
>>plot(t,x1,t,x2,t,x3,t,x4)
pslpsl 当前离线   回复时引用此帖