取初值x0=0,用迭代公式x(k+1)=(2-e^(x(k))) /10 (k=0,1,2,...)求方程e^(x)+10x-2=0的近似根,要求误差不超过0.5*10^(-3)。

实验结果:x5=0.09052

代码示例:

function x = agui_fixed(fname,x0,e)
% 不动点迭代法
N=100;
syms x; 
df=diff(fname(x));
pretty(df)
L=abs(double(subs(df,x0)));
x=x0;
x0=feval(fname,x0);
k=0;

while  abs(x0-x)>L/(1-L)*e && k<N
    if L >= 1
        warning('函数不收敛,不可迭代')
        break;
    end
    k=k+1
    x0=x;
    x=feval(fname,x0);
    disp(x)
end 
    if k == N 
       warning('已达最大迭代次数');
end

运算结果:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐