不动点迭代

来源:互联网 发布:支付宝超强助手源码 编辑:程序博客网 时间:2024/04/28 05:36
%用不动点迭代法求方程x-e^x+4=0的正根与负根,误差限是10^-6%
disp('不动点迭代法');
n0=100;
p0=-5;
for i=1:n0
    p=exp(p0)-4;
    if abs(p-p0)<=10^(-6)
        if p<0
            disp('|p-p0|=')
            disp(abs(p-p0))
            disp('不动点迭代法求得方程的负根为:')
            disp(p);
            break;
        else
            disp('不动点迭代法无法求出方程的负根。')
        end
    else
        p0=p;
    end
end
if i==n0
    disp(n0)
    disp('次不动点迭代后无法求出方程的负根')
end
p1=1.7;
for i=1:n0
   pp=exp(p1)-4;
   if abs(pp-p1)<=10^(-6)
       if pp>0
           disp('|p-p1|=')
           disp(abs(pp-p1))
           disp('用不动点迭代法求得方程的正根为')
           disp(pp);
       else
           disp('用不动点迭代法无法求出方程的正根');
       end
       break;
   else
       p1=pp;
   end
end
 if i==n0
     disp(n0)
     disp('次不动点迭代后无法求出方程的正根')
 end
0 0
原创粉丝点击