logo资料库

二分法和牛顿迭代法求解方程.doc

第1页 / 共1页
资料共1页,全文预览结束
07 信本 谭金林 200702054029 实验十一 二分法和牛顿迭代法求解方程 实验目的: 1. 编程实现二分法和牛顿迭代法 2. 比较二分法和牛顿迭代法的优劣 实验步骤: 1.编程实现二分法求解方程 2.编程实现牛顿迭代法 实验程序: 以 1+x-exp(x)=0 为例。 1. 二分法 clear; f=inline('1+x-exp(x)'); format long a=0;b=2;ya=f(a);k=0; A=[]; while b-a>eps x=(a+b)/2; y0=f(x); if ya==0 ya=eps; end if ya*y0<0 else b=x ; A=[A b]; a=x; ya=y0; A=[A a]; end k=k+1; end disp('求解次数为:');k plot(1:k,A) >> Er 求解次数为: k = 53 2. 牛顿法 clear; format long k=0; x=2; xprev=1; A=[]; while abs(x-xprev)>eps xprev=x; x=x-(exp(x)-x-1)/(exp(x)-1) k=k+1; A=[A x]; end disp('求解次数为:');k plot(1:k,A,'r-') >> Newton 求解次数为: k = 32 实验分析: 通过实验可知:以误差为 eps 为准,在二分法下,程序迭代了 52 次后和第 53 次的结果 一致,即程序迭代了 52 次达到要求的试验误差;在牛顿迭代法下,程序迭代了 31 次后和第 32 次的结果一致,即程序迭代了 31 次达到要求的试验误差; 二者比较明显可以看出牛顿迭代法的求解效率要远远优于二分法
分享到:
收藏