Matlab实现——to find the fixed point

来源:互联网 发布:时时彩平台程序源码 编辑:程序博客网 时间:2024/06/06 19:38
 

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<tol) | (relerr<tol),break;endendif k==max1    disp('maximum number of iterations exceeded')endP=P';


程序示例:

fun.m

 

function g=fun(x)g=x^5-3*x^3-2*x^2+2;Untitled3.mp0=-1.6;tol=10e-12;max1=7;g='fun';[k,p,err,P]=fixpt(g,p0,tol,max1)

运行的结果说明在点(-1.6,-1.8)附近的不动点是排斥不动点