chenfengs 发表于 2008-7-11 10:19

为什么微分方程组求解后是这样


function
xdot=fun(t,x,A)
global a
xdot=a*x

>> clear
global a
t0=0;x0=;h=0.02;
m=1*eye(2,2); k=;
a=;
j=1;
t=0:h:12;n=length(t);
for i=1:n;
l1=fun(t0,x0);
l2=fun(t0+h/2,x0+(h/2)*l1);
l3=fun(t0+h/2,x0+(h/2)*l2);
l4=fun(t0+h,x0+h*l3);
t1=t0+h;
x1=x0+(h/6)*(l1+2*l2+2*l3+l4);
u1(j)=x1(1);u2(j)=x1(2);
t0=t1;x0=x1;
j=j+1;
end
plot(t,u1)
使用四阶龙格库塔计算时
同相图形不正确,而反相图形正确,请高手指教。

咕噜噜 发表于 2008-7-11 11:07

子程序写的不正确吧,没看出来你这子程序有啥用

无水1324 发表于 2008-7-11 21:11

回复 楼主 的帖子

你这是直接利用RK方法求解,其实是没有必要的,可以直接调用matlab中的ode45等
页: [1]
查看完整版本: 为什么微分方程组求解后是这样