马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我编的算一个点的龙格库塔法如下
function x=rk44(x,h,T)
T(2)=T(1)+h;
k1=h*feval('fun',T(1),x(:,1));
k2=h*feval('fun',T(1)+h/2,x(:,1)+k1/2);
k3=h*feval('fun',T(1)+h/2,x(:,1)+k2/2);
k4=h*feval('fun',T(1)+h,x(:,1)+k3);
x(:,2)=x(:,1)+(k1+2*k2+2*k3+k4)/6;
end
但是在主程序变步长的循环中它不循环,程序如下(部分)
function y=changerk44()
x=[0;0;0;0;];
h=0.01;
AbsTol=1e-6;
T(1)=0;
p=4;
p(21)=2^p-1;
for i=1:1000
z=rk44(x(:,i),h,T(i));
m=rk44(x(:,i),h/2,T(i));
请大侠指点,什么原因? |