请指导!急……!
这是我自己编的关于显式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=;
M文件2:
functionz=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 应该没问题,是不是你的其它目录下有同名的m文件,再执行rk3命令时自动执行它了
但你上面的程序也有错误,for y=1:m; 后多了分号,循环变量应为j不是y
where is j
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
to check where j it is???
页:
[1]