为什么???MATLAB运行程序时为什么会说我的参数没有定义??怎么样才算定义啊?

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:35:37
%maaitken.m
function x=maaitken(phi,x0,ep,N)
%用途:用Aitken-Steffensen加速方法求f(x)=0的解
%格式:x=maaitken(phi,x0,ep,N) phi为迭代函数,x0为迭代初值,ep
%为精度(默认1e-4),N为最大迭代次数(默认500),x返回近似根
if nargin<4,N=500;end
if nargin<3,ep=1e-4;end
k=0;
while k<N
y=feval(phi,x0); z=feval(phi,y);
x=x0-(y-x0)^2/(z-2*y+x0);
if abs(x-x0)<ep
break;
end
x0=x; k=k+1;
end
if k==N, warning('已达迭代次数上限'); end
disp(['k= ',num2str(k)])
运行后命令窗口出现:Input argument "phi" is undefined.
我该怎么定义啊?不是应该等运行完之后再在命令窗口中输入吗??

不是,带参数的m函数是不能直接点运行的,
你应该直接在matlab命令窗口输入
maaitken('目标函数名',2,3,4)
2,3,4是参数,你可以按需要修改
目标函数名是所需求解的函数