登录论坛

查看完整版本 : 急,求固定点的code为什么老不起作用?


stafan
2009-02-20, 10:43
我初用matlab,最近在看《数值方法(matlab版)》,开篇第一个用MATLAB采用迭代法求固定总是足不出来,很打击我的积极性。下面我把我做得过程写出来,请高手批评指正。
1.第一个m.file
function [k,p,err,P]=fixpt(g,p0,tol,max1)
p(1)=p0
for k-2:max1
p(k)=feval(g,p(k-1));
err=abs(p(k)-p(k-1));
relerr=err/(abs(p(k))+eps);
p=p(k);
if(err<tol) | (relerr<tol),break;end
end
if k==max1
disp('maximum number of iterations exceeded')
end
p=p';
2.第二个m.file
function y=g(x)
y=2*(x-1).^0.5;
3.然后在command window里
[k,p,err,P]=fixpt(g,2.1,0.00001,10000)

我不知道哪里做得不对,很着急,请指教,谢谢!