您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab迭代法代码
1、%用不动点迭代法求方程x-e^x+4=0的正根与负根,误差限是10^-6%disp('不动点迭代法');n0=100;p0=-5;fori=1:n0p=exp(p0)-4;ifabs(p-p0)=10^(-6)ifp0disp('|p-p0|=')disp(abs(p-p0))disp('不动点迭代法求得方程的负根为:')disp(p);break;elsedisp('不动点迭代法无法求出方程的负根.')endelsep0=p;endendifi==n0disp(n0)disp('次不动点迭代后无法求出方程的负根')endp1=1.7;fori=1:n0pp=exp(p1)-4;ifabs(pp-p1)=10^(-6)ifpp0disp('|p-p1|=')disp(abs(pp-p1))disp('用不动点迭代法求得方程的正根为')disp(pp);elsedisp('用不动点迭代法无法求出方程的正根');endbreak;elsep1=pp;endendifi==n0disp(n0)disp('次不动点迭代后无法求出方程的正根')end2、%用牛顿法求方程x-e^x+4=0的正根与负根,误差限是10^-6disp('牛顿法')n0=80;p0=1;fori=1:n0p=p0-(p0-exp(p0)+4)/(1-exp(p0));ifabs(p-p0)=10^(-6)disp('|p-p0|=')disp(abs(p-p0))disp('用牛顿法求得方程的正根为')disp(p);break;elsep0=p;endendifi==n0disp(n0)disp('次牛顿迭代后无法求出方程的解')endp1=-3;fori=1:n0p=p1-(p1-exp(p1)+4)/(1-exp(p1));ifabs(p-p1)=10^(-6)disp('|p-p1|=')disp(abs(p-p1))disp('用牛顿法求得方程的负根为')disp(p);break;elsep1=p;endendifi==n0disp(n0)disp('次牛顿迭代后无法求出方程的解')end
本文标题:matlab迭代法代码
链接地址:https://www.777doc.com/doc-5065187 .html