马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
这是我自己编的关于显式3阶Runge_Kutta方法
M文件1:
function E=rk3(a,b,ya,m)
% a,b区间两端点值
% ya为给定某一点的函数值
% m最大迭代次数
h=(b-a)/m;
T=zeros(1,m+1);
Y=zeros(1,m+1);
T=a:h:b;
Y(1)=ya;
for y=1:m;
k1=f(T(j),Y(j));
k2=f(T(j)+0.5*h,Y(j)+0.5*h*k1);
k3=f(T(j)+h,Y(j)-h*k1+2*h*k2);
Y(j+1)=Y(j)+1/6*h*(k1+4*k2+k3);
end
E=[T',Y'];
M文件2:
function z=f(x,y)
z=y-2*x/y;
脚本文件:
>> rk3(0,1,1,10);
可是每次运行的时候它总是报错:??? Input argument "b" is undefined.
Error in ==> rk3 at 5
h=(b-a)/m;
:@L |