您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文档 > 数值分析――二分法和牛顿法
二分法和牛顿法的比较二分法的基本思想是对有根区间[a,b]逐次分半,首先计算区间[a,b]的中间点x0,然后分析可能出现的三种情况:如果f(x0)f(a)0,则f(x)在区间[a,x0]内有零点;如果f(x0)f(b)0,则f(x)在区间[x0,b]内有零点;如果f(x0)=0,则x0是f(x)在区间[a,b]内所求零点。但是二分法的缺点是收敛速度慢且不能求复根。牛顿迭代法的基本思想是将方程f(x)=0中函数f(x)线性化,以线性方程的解逼近非线性方程的解其迭代函数为)(')()(xfxfxx。牛顿迭代法的缺点是可能发生被零除错误,且可能出现死循环。用二分法和牛顿法分别计算多项式024323xxx的解。该多项式的解为1、1+i和1-i,使用二分法计算时,区间为(-1,2),使用牛顿法计算时取初始值为0。误差都为0.0001。编程如下二分法(erfen.m):symsx;fun=x^3-3*x^2+4*x-2;a=-1;b=2;d=0.0001;f=inline(fun);e=b-a;k=0;whileedc=(a+b)/2;iff(a)*f(c)0b=c;elseiff(a)*f(c)0a=c;elsea=c;b=c;ende=e/2;k=k+1;endkx=(a+b)/2牛顿法(newton.m):function[k,x,wuca]=newton()k=1;x0=0;tol=0.0001;yx1=fun(x0);yx2=fun1(x0);x1=x0-yx1/yx2;whileabs(x1-x0)tolx0=x1;yx1=fun(x0);yx2=fun1(x0);k=k+1;x1=x1-yx1/yx2;endkx=x1wuca=abs(x1-x0)/2endfunctiony1=fun(x)y1=x^3-3*x^2+4*x-2;endfunctiony2=fun1(x)y2=3*x^2-6*x+4;end分析结果得知,在相同的误差精度下,二分法需要计算15次,而牛顿法只需计算5次,得知牛顿法比二分法优越。
本文标题:数值分析――二分法和牛顿法
链接地址:https://www.777doc.com/doc-4312707 .html