数值分析求解非线性方程根的二分法、简单迭代法和牛顿迭代法概论
- 格式:docx
- 大小:126.52 KB
- 文档页数:10
二分法及迭代法求解非线性方程根班级:姓名:方学号:日期:一、实验目的1、熟悉二分法及迭代法求解非线性方程根的数值算法;2、用matlab软件实现二分法及迭代法,掌握迭代法的收敛性和收敛速度问题及其加速方法;二、基本理论及背景1、牛顿迭代法具有平方收敛的速度,所以在迭代过程中只要迭代几次就会得到很精确的解。
这是牛顿迭代法比简单迭代法优越的地方,但是选定的初值要接近方程的解,否则有可能得不到收敛的结果,再者,牛顿迭代法计算量比较大。
因每次迭代除计算函数值外还要计算微商值。
2、牛顿迭代理论推导:设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y =f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。
重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值;3、参考《二分法求非线性方程根》,实现二分算法,完成下面的题目:求方程○1的根,精度至少达到10-6;比较迭代下列迭代法求解○1中方程根的收敛性:○2,;用牛顿法设计迭代函数求解○1中方程的根(精度至少达到10-6),并与○2中收敛的迭代法比较收敛的速度。
三、算法设计及实现1、设计:方程○1function f=fun1(x)f=exp(x)-x-3;;○2function y=Exp2(x)y=exp(x)-3;function y=Exp3(x)y=log(x+3);牛顿迭代:function df=Exp4(x)df=exp(x)-1。
四、实验步骤1、○1打开matlab软件,新建ErFen_Root.m文件,在窗口中编辑二分法数值积分函数程序代码,并保存在指定的文件夹下,在Current Directory窗口右边点击《Browse For Folder》按钮指向ErFen_Root.m文件;○2在Command Window中编辑相应要计算的题目的数值函数及相应的题目的表达式。
实验报告一:实验题目一、 实验目的掌握求解非线性方程根的二分法、简单迭代法和牛顿迭代法,并通过数值实验比较两种方法的收敛速度。
二、 实验内容1、编写二分法、并使用这两个程序计算02)(=-+=x e x x f 在[0, 1]区间的解,要求误差小于 410- ,比较两种方法收敛速度。
2、在利率问题中,若贷款额为20万元,月还款额为2160元,还期为10年,则年利率为多少?请使用牛顿迭代法求解。
3、由中子迁移理论,燃料棒的临界长度为下面方程的根,用牛顿迭代法求这个方程的最小正根。
4、用牛顿法求方程的根,精确至8位有效数字。
比较牛顿迭代法算单根和重根的收敛速度,并用改进的牛顿迭代法计算重根。
第1题:02)(=-+=x e x x f 区间[0,1] 函数画图可得函数零点约为0.5。
画图函数:function Test1()% f(x) 示意图, f(x) = x + exp(x) - 2; f(x) = 0r = 0:0.01:1;y = r + exp(r) - 2plot(r, y);grid on 二分法程序:计算调用函数:[c,num]=bisect(0,1,1e-4)function [c,num]=bisect(a,b,delta)%Input –a,b 是取值区间范围% -delta 是允许误差%Output -c 牛顿迭代法最后计算所得零点值% -num 是迭代次数ya = a + exp(a) - 2;yb = b + exp(b) - 2;if ya * yb>0return;endfor k=1:100c=(a+b)/2;yc= c + exp(c) - 2;if abs(yc)<=deltaa=c;b=c;elseif yb*yc>0b=c;yb=yc;elsea=c;ya=yc;endif abs(b-a)<deltanum=k; %num为迭代次数break;endendc=(a+b)/2;err=abs(b-a);yc = c + exp(c) - 2;牛顿迭代法程序:计算调用函数:[c,num]=newton(@func1,0.5,1e-4) 调用函数:function [y] = func1(x)y = x + exp(x) - 2;end迭代算法:function[c,num]=newton(func,p0,delta)%Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:1000y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;%num为迭代次数break;endendc=p0;第2题:由题意得到算式:计算调用函数:[c,num]=newton(@func2,0.02,1e-8)程序:先用画图法估计出大概零点位置在0.02附近。
《数值分析》实验报告实验一方程求根一、实验目的:掌握二分法、Newton法、不动点迭代法、弦截法求方程的根的各种计算方法、并实施程序调试和运行,学习应用这些算法于实际问题。
二、实验内容:二分法、Newton法、不动点迭代法、弦截法求方程的根、程序的调试和运行,给出实例的计算结果。
观察初值对收敛性的影响。
三、实验步骤:①、二分法:定义:对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。
实现方法:首先我们设一方程400*(x^4)-300*(x^3)+200*(x^2)-10*x-1=0,并求其在区间[0.1,1]上的根,误差限为e=10^-4。
PS:本方法应用的软件为matlab。
disp('二分法')a=0.1;b=1;tol=0.0001;n0=100;fa=400*(a.^4)-300*(a.^3)+200*(a.^2)-10*a-1;for i=1:n0 p=(a+b)/2;fp=400*(p.^4)-300*(p.^3)+200*(p.^2)-10*p-1;if fp==0||(abs((b-a)/2)<tol)disp('用二分法求得方程的根p=')disp(p)disp('二分迭代次数为:')disp(i)break;end;if fa*fp>0 a=p;else b=p;end;end;if i==n0&&~(fp==0||(abs((b-a)/2)<tol)) disp(n0) disp('次二分迭代后没有求出方程的根')end;程序调试:运行结果:用二分法求得方程的根p=0.1108二分迭代次数为:14②Newton法定义:取定初值x0,找到函数对应的点,然后通过该点作函数切线,交x轴,得到新的横坐标值,然后找函数对应的点,做切线,得到新的横坐标值,重复上述步骤,多次迭代,直到收敛到需要的精度。
牛顿迭代法与其他迭代法迭代法是一种常见的数值计算方法,用于求解方程的近似解。
其中,牛顿迭代法是一种较为常用且有效的迭代法。
本文将对牛顿迭代法与其他迭代法进行比较和探讨。
一、牛顿迭代法的原理和步骤牛顿迭代法是由英国物理学家牛顿在17世纪提出的一种寻找方程近似解的方法。
其基本思想是通过不断逼近函数的零点,找到方程的根。
牛顿迭代法的步骤如下:1.选择一个初始值x0;2.根据当前的近似解x0,利用函数的导数计算切线的斜率;3.通过切线与x轴的交点得到下一个近似解x1;4.重复步骤2和步骤3,直到满足精度要求为止。
牛顿迭代法的优点在于它通常具有较快的收敛速度,尤其在接近根的地方。
然而,牛顿迭代法可能会收敛到局部极值点,而不是全局极值点,这是其存在的一个不足之处。
二、牛顿迭代法与其他迭代法的比较除了牛顿迭代法,还存在着其他常用的迭代法,比如二分法和割线法。
下面将对牛顿迭代法与这两种方法进行比较。
1. 牛顿迭代法 vs. 二分法二分法是一种简单而广泛使用的迭代法。
它通过不断将搜索区间二分来逐步逼近方程的根。
二分法的步骤如下:- 选择一个初始的搜索区间[a, b],使得方程的根位于[a, b]之间;- 计算搜索区间的中点c=(a+b)/2;- 比较函数在c处的取值与零的关系来确定下一步搜索的区间,即更新[a, b]为[a, c]或者[c, b];- 重复上述步骤,直到满足精度要求。
与牛顿迭代法相比,二分法的收敛速度较慢。
然而,二分法具有简单易懂、稳定可靠的特点,在某些情况下仍然被广泛使用。
2. 牛顿迭代法 vs. 割线法割线法是一种类似于牛顿迭代法的迭代法,它通过直线的割线逼近方程的根。
割线法的步骤如下:- 选择两个初始值x0和x1,使得x0和x1分别位于方程的根的两侧;- 计算通过(x0, f(x0))和(x1, f(x1))两点的直线的方程;- 求解该直线与x轴的交点得到下一个近似解x2;- 重复上述步骤,直到满足精度要求。
迭代法和牛顿迭代法的优缺点及应用在数值计算和算法设计中,迭代法和牛顿迭代法是两种常见的数值优化方法。
它们可以很好地用于解决非线性方程组、最优化问题以及数学模型的求解等问题。
在实际应用中,它们的优缺点各有不同,可根据问题的特点选择适合的方法。
本文将对迭代法和牛顿迭代法的优缺点及应用进行分析。
一、迭代法1、迭代法的原理迭代法是一种通过不断逼近目标值的方法。
其思想是将一个原问题转化为一个递归求解的过程。
假设我们要求解一个方程f(x) = 0,可以利用如下公式进行迭代:$x_{n+1} = g(x_n)$其中,$g(x_n)$是一个递推公式,用来表示如何从$x_n$ 得到$x_{n+1}$。
通过不断迭代,可以逐渐逼近解。
当迭代次数足够多时,可以得到符合精度的解。
2、迭代法的优点(1)实现简单:迭代法的计算过程非常简单,只需要考虑递推公式即可。
(2)收敛速度较快:迭代法的收敛速度要比其他方法要快,尤其是在某些非线性问题中,迭代法表现出了其优异的收敛性。
(3)适用范围广:迭代法可以用于解决各种类型的数学问题,包括求解非线性方程组、求解最优化问题以及求解微积分方程等。
3、迭代法的缺点(1)收敛不稳定:由于迭代法只是通过不断逼近目标值的过程,收敛的速度和稳定性都受到了影响,可能存在发散的情况。
(2)初值选择的影响:迭代法在求解问题时,对于初值的选择需要非常慎重,因为不同的初值会得到不同的收敛结果。
(3)依赖递推公式:迭代法需要依赖于递推公式,当递推公式难以求解或者导数难以计算时,迭代法的效果可能会受到影响。
二、牛顿迭代法1、牛顿迭代法的原理牛顿迭代法是一种利用函数的一阶导数和二阶导数来逼近根的方法。
对于一个非线性方程f(x)=0,设其在$x_0$处的导数不为0,则可以用如下公式进行迭代:$x_{n+1} = x_n −\frac {f(x_n)}{f′(x_n)}$其中$f'(x_n)$是$f(x_n)$的一阶导数。
数值分析实验报告末班实验目的本实验旨在通过计算机模拟与实际测量相结合的方法,研究数值计算方法在实际问题中的应用,并通过实验结果验证和分析方法的准确性和可靠性。
实验原理在数值分析中,我们通常使用数值方法来解决数学模型的近似求解问题。
最常用的数值方法包括插值法、数值积分法、求解线性方程组的迭代法等。
这些方法通过将连续的数学问题转化为离散的数值计算问题,通过计算机模拟来求解。
在本次实验中,我们选择了两个典型的数值计算问题进行研究。
第一个问题是求解非线性方程的数值解,在这个问题中,我们使用了牛顿迭代法和二分法作为数值求解的方法。
第二个问题是对函数进行数值积分,我们使用了辛普森公式和梯形公式进行数值积分的计算。
实验步骤与结果求解非线性方程的数值解我们选择了一个非线性方程f(x) = x^3 - 2x - 5 = 0 作为例子,通过牛顿迭代法和二分法来求解其数值解。
1. 首先,我们使用牛顿迭代法。
通过计算,我们得到了该非线性方程的一个近似解为x =2.0945514815423265。
2. 其次,我们使用二分法来求解该非线性方程的数值解。
通过计算,我们得到了一个近似解为x = 2.0945514815423265。
通过比较以上两个数值解,我们可以发现两种方法得到的结果非常接近,验证了这两种方法的准确性和可靠性。
数值积分我们选择了一个函数f(x) = x^2 在区间[0, 1] 上进行数值积分,通过辛普森公式和梯形公式来计算其数值积分结果。
1. 首先,我们使用辛普森公式进行数值积分。
通过计算,我们得到了该函数在[0,1] 区间上的数值积分结果为0.3333333333333333。
2. 其次,我们使用梯形公式进行数值积分。
通过计算,我们得到了该函数在[0, 1] 区间上的数值积分结果为0.3333333333333333。
通过比较以上两种方法得到的数值积分结果,我们可以发现两种方法得到的结果完全相同,进一步验证了这两种方法的准确性和可靠性。
牛顿迭代法、二分法,定点法的区别与联系牛顿迭代法牛顿迭代法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要Newton法是求解方程f(x)=0的最著名的和最有效的数值方法之一,其基本思想可以是将方程转化为线性方程来求解,设f(x)连续可微,则将函数f(x)在x k点处进行taylor展开,即如果,取taylor展开式的线性部分近似代替f(x),得到f(x)=0的近似方程,将此方程的根记作x k+1,则得到这就是Newton迭代公式迭代函数为不动点迭代将方程f(x)=0改写成等价方程则方程的根又称为函数的不动点.为了求的不动点,取一个初始近似值x0,用迭代格式,k=1,2产生序列{x k},这种迭代法我们称之为不动点迭代,或简单迭代又称为迭代函数.假设一个迭代法产生的序列{x k},k=0,1,2,,收敛,,X*是方程f(x)=0的一个解.区间对分法区间对分法是求解方程f(x)=0的一种直观而又简单的迭代法,它是建立在介值定理的理论基础之上的,第一个取值点取在含优区间的1/2处,然后逐渐逼近最优值的单因素试验设计方法。
联系都是用来近似求方程根的方法,利用数列收敛于方程的根。
在应用方面,区间对分法可用来求根的初始近似值,以供其它对初始值要求严格的迭代法使用,牛顿法和不定点迭代法都有局限性,收敛有方向性,如果初始值选的不恰当,则方程不收敛,也就不能得到方程的根。
另外,方程f(x)=0和x=是等价的,于是Newton迭代公式也属于不动点迭代。
区别对分法每次50%的区间舍弃,试验选值跨跃的幅度过大,会使对分法漏掉了最佳值。
从此误差估计式看出,近似解的误差下降速度较慢.但此方法比较简单,且安全可靠.在实际应用中,.需要注意的是此方法只能求单实根,而不能求复根或偶数重根.在牛顿迭代和不动点迭代中,对不动点方程x=,它导出的迭代过程有可能发散,也可能收敛得非常缓慢,注意到x=x和x=都是不动点方程,它们的加权平均h(x)=也是不动点方程,而h(x) 和有完全相同的不动点。
一、实验背景数值分析是研究数值计算方法及其理论的学科,是计算机科学、数学、物理学等领域的重要基础。
为了提高自身对数值分析理论和方法的理解,我们进行了数值分析实验,通过实验加深对理论知识的掌握,提高实际操作能力。
二、实验目的1. 理解数值分析的基本理论和方法;2. 掌握数值分析实验的基本步骤和技巧;3. 培养实验设计和数据分析能力;4. 提高编程和计算能力。
三、实验内容本次实验主要分为以下几个部分:1. 线性方程组求解实验:通过高斯消元法、LU分解法等求解线性方程组,并分析算法的稳定性和误差;2. 矩阵特征值问题计算实验:利用幂法、逆幂法等计算矩阵的特征值和特征向量,分析算法的收敛性和精度;3. 非线性方程求根实验:运用二分法、牛顿法、不动点迭代法等求解非线性方程的根,比较不同算法的优缺点;4. 函数插值实验:运用拉格朗日插值、牛顿插值等方法对给定的函数进行插值,分析插值误差;5. 常微分方程初值问题数值解法实验:运用欧拉法、改进的欧拉法、龙格-库塔法等求解常微分方程初值问题,比较不同算法的稳定性和精度。
四、实验过程1. 线性方程组求解实验:首先,编写程序实现高斯消元法、LU分解法等算法;然后,对给定的线性方程组进行求解,记录计算结果;最后,分析算法的稳定性和误差。
2. 矩阵特征值问题计算实验:编写程序实现幂法、逆幂法等算法;然后,对给定的矩阵进行特征值和特征向量的计算,记录计算结果;最后,分析算法的收敛性和精度。
3. 非线性方程求根实验:编写程序实现二分法、牛顿法、不动点迭代法等算法;然后,对给定的非线性方程进行求根,记录计算结果;最后,比较不同算法的优缺点。
4. 函数插值实验:编写程序实现拉格朗日插值、牛顿插值等方法;然后,对给定的函数进行插值,记录计算结果;最后,分析插值误差。
5. 常微分方程初值问题数值解法实验:编写程序实现欧拉法、改进的欧拉法、龙格-库塔法等算法;然后,对给定的常微分方程初值问题进行求解,记录计算结果;最后,比较不同算法的稳定性和精度。
实验报告一:实验题目一、 实验目的掌握求解非线性方程根的二分法、简单迭代法和牛顿迭代法,并通过数值实验比较两种方法的收敛速度。
二、 实验内容1、编写二分法、牛顿迭代法程序,并使用这两个程序计算02)(=-+=x e x x f 在[0, 1]区间的解,要求误差小于 410- ,比较两种方法收敛速度。
2、在利率问题中,若贷款额为20万元,月还款额为2160元,还期为10年,则年利率为多少?请使用牛顿迭代法求解。
3、由中子迁移理论,燃料棒的临界长度为下面方程的根cot x =(x 2−1)/2x ,用牛顿迭代法求这个方程的最小正根。
4、用牛顿法求方程f (x )=x 3−11x 2+32x −28=0的根,精确至8位有效数字。
比较牛顿迭代法算单根和重根的收敛速度,并用改进的牛顿迭代法计算重根。
三、 实验程序第1题:02)(=-+=x e x x f 区间[0,1] 函数画图可得函数零点约为0.5。
画图函数:function Test1()% f(x) 示意图, f(x) = x + exp(x) - 2; f(x) = 0r = 0:0.01:1;y = r + exp(r) - 2plot(r, y);grid on二分法程序:计算调用函数:[c,num]=bisect(0,1,1e -4)function [c,num]=bisect(a,b,delta)%Input –a,b 是取值区间范围% -delta 是允许误差%Output -c 牛顿迭代法最后计算所得零点值% -num 是迭代次数ya = a + exp(a) - 2;yb = b + exp(b) - 2;if ya * yb>0return;endfor k=1:100c=(a+b)/2;yc= c + exp(c) - 2;if abs(yc)<=deltaa=c;b=c;elseif yb*yc>0b=c;yb=yc;elsea=c;ya=yc;endif abs(b-a)<deltanum=k; %num为迭代次数break;endendc=(a+b)/2;err=abs(b-a);yc = c + exp(c) - 2;牛顿迭代法程序:计算调用函数:[c,num]=newton(@func1,0.5,1e-4)调用函数:function [y] = func1(x)y = x + exp(x) - 2;end迭代算法:function[c,num]=newton(func,p0,delta)%Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:1000y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;%num为迭代次数break;endendc=p0;第2题:由题意得到算式:200000∗(1+x)10−2160∗12∗10=0计算调用函数:[c,num]=newton(@func2,0.02,1e-8)程序:先用画图法估计出大概零点位置在0.02附近。
画图程序:function Test2()% f(x) 示意图, f(x) = 200000*(1+x).^10-2160*12*10; f(x) = 0 r = linspace(0,0.06, 100);y = 200000*(1+r).^10-2160*12*10;plot(r, y);grid on调用函数:function[y]=func2(r)y=200000*(1+r).^10-2160*12*10;end牛顿迭代法算法程序:function [c,num] =newton(func,p0,delta)%Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:1000y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendc=p0;第3题:cot x=(x2−1)/2x求最小正数解计算调用函数:[c,num]=newton(@func3, 1 ,1e-8)程序:先用画图法估计出最小正解位置在1到2之间画图程序:function Test3()% f(x) 示意图, f(x) = cot(x)-(x.^2-1)./(2.*x); f(x) = 0 ezplot('cot(x)-(x.^2-1)./(2.*x)',[-6,6]);grid on调用函数:function[y]=func3(x)y=cot(x)-(x.^2-1)./(2.*x);end牛顿迭代法算法程序:function [c,num] =newton(func,p0,delta)%Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:1000y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendc=p0;第4题:f(x)=x3−11x2+32x−28=0精确至8位有效数字根据画图图像可得函数有一个重根在区间[1,3]和另一个根在区间[6,8]。
计算调用函数:重根:[c,num]=newton(@func4, 1 ,1e-8)另外的单根:[c,num]=newton(@func4, 6 ,1e-8)画图程序:function Test4()% f(x) 示意图, f(x) = x.^3-11.*x.^2+32.*x-28; f(x) = 0r = 0:0.01:8;y = r.^3-11.*r.^2+32.*r-28;plot(r, y);grid on调用函数:function func4(x)y=x.^3-11.*x.^2+32.*x-28;end牛顿迭代法算法程序:function[c,num]=newton(func,p0,delta)%Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:100y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;if(dy0==0)c= vpa(p0,8);num=k;break;elsep1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendendc= vpa(p0,8);改进的牛顿算法程序:function[c,num]=newton(func,p0,delta) %Input -func是运算公式% -p0是零点值% -delta是允许误差%Output -c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;for k=1:100y0=func(p0);dy0=diff(func([p0 p0+1e-8]))/1e-8;if(dy0==0)c= vpa(p0,8);num=k;break;elsep1=p0-2*y0/dy0;%根据重根计算时,改进Newton法的收敛速度,可以采用在迭代函数中乘上重根数的方法进行改善。
err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendendc=vpa(p0,8);四、实验结果分析第1题:根据图片可以看出函数零点的值在0.4与0.5之间,牛顿迭代法时取0.5作为迭代初值。
第2题:根据图片可以看出函数零点的值在0.02与0.03之间,可采用0.02作为迭代初值。
第3题:根据图片可以看出函数最小正数零点的值在1与2之间,在使用牛顿迭代法时可以采用1为迭代初值。
第4题:根据图片可以看出函数重根为2,另一单根为7。
在使用迭代法时刻采用1和6为初值进行计算。
五、实验结论通过实验结果可以看出,二分法,简单迭代法和牛顿迭代法三种算法中,牛顿迭代法在选取适合值进行代入的情况下能得到较好的收敛效果。
第1题:二分法实验结果: c =0.4429,num =11牛顿迭代法实验结果: c =0.4429,num =3根据结果可以看出两者计算结果相同,牛顿迭代法迭代次数为3,二分法的迭代次数为11,比较而言迭代次数牛顿迭代法比二分法小得多。
第2题实验结果:零点c = 0.0263,num = 4通过画图后能对计算结果有一个较好的估计,从而在最后获得结果,并且迭代次数也较少。
第3题实验结果:零点c = 1.3065,num = 5。
cot(x)函数在π/2处无限值,画图时注意使用符号函数ezplot。
以1为代入点,最后迭代次数为5。
第4题实验结果:利用牛顿迭代法计算得到:重根:c =2.00000000,num =25;另一单根:c =7.00000000,num = 7;改进后牛顿迭代法重根计算结果:c =2.00000000,num =5;从结果中可以看出牛顿迭代法在计算单根时比计算重根时的收敛速度快很多,针对重根的计算,改进后牛顿迭代法大大减小了迭代的次数,提高了收敛速度。