fixpt.m
function [k,p,err,P]=fixpt(g,p0,tol,max1)
% Input - g is the iteration function input as a string ??g??
% - p0 is the initial guess for the fixed-point
% - tol is the tolerance
% - max1 is the maximum number of iterations
% Output - k is the number of iterations that were carried out
% - p is the approximation to the fixed-point
% - err is the error in the approximation
% - P contains the sequence {pn}
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
end
if k==max1
disp('maximum number of iterations exceeded')
end
P=P';
程序示例:
fun.m
function g=fun(x)
g=x^5-3*x^3-2*x^2+2;
Untitled3.m
p0=-1.6;
tol=10e-12;
max1=7;
g='fun';
[k,p,err,P]=fixpt(g,p0,tol,max1)
运行的结果
说明在点(-1.6,-1.8)附近的不动点是排斥不动点