数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法

合集下载

数值分析综合实验报告

数值分析综合实验报告

一、实验目的通过本次综合实验,掌握数值分析中常用的插值方法、方程求根方法以及数值积分方法,了解这些方法在实际问题中的应用,提高数值计算能力。

二、实验内容1. 插值方法(1)拉格朗日插值法:利用已知数据点构造多项式,以逼近未知函数。

(2)牛顿插值法:在拉格朗日插值法的基础上,通过增加基函数,提高逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,通过不断缩小区间来逼近根。

(2)Newton法:利用函数的导数信息,通过迭代逼近根。

(3)不动点迭代法:将方程转化为不动点问题,通过迭代逼近根。

3. 数值积分方法(1)矩形法:将积分区间等分,近似计算函数值的和。

(2)梯形法:将积分区间分成若干等分,用梯形面积近似计算积分。

(3)辛普森法:在梯形法的基础上,将每个小区间再等分,提高逼近精度。

三、实验步骤1. 拉格朗日插值法(1)输入已知数据点,构造拉格朗日插值多项式。

(2)计算插值多项式在未知点的函数值。

2. 牛顿插值法(1)输入已知数据点,构造牛顿插值多项式。

(2)计算插值多项式在未知点的函数值。

3. 方程求根方法(1)输入方程和初始值。

(2)选择求解方法(二分法、Newton法、不动点迭代法)。

(3)迭代计算,直到满足精度要求。

4. 数值积分方法(1)输入被积函数和积分区间。

(2)选择积分方法(矩形法、梯形法、辛普森法)。

(3)计算积分值。

四、实验结果与分析1. 插值方法(1)拉格朗日插值法:通过构造多项式,可以较好地逼近已知数据点。

(2)牛顿插值法:在拉格朗日插值法的基础上,增加了基函数,提高了逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,计算简单,但收敛速度较慢。

(2)Newton法:利用函数的导数信息,收敛速度较快,但可能存在数值不稳定问题。

(3)不动点迭代法:将方程转化为不动点问题,收敛速度较快,但可能存在初始值选择不当的问题。

3. 数值积分方法(1)矩形法:计算简单,但精度较低。

数值分析试题及答案

数值分析试题及答案

数值分析试题及答案一、选择题1. 下列哪个方法不适合用于求解非线性方程的根?A. 二分法B. 牛顿法C. 弦截法D. 正割法2. 当使用二分法求解非线性方程的根时,需要满足的条件是:A. 函数f(x)在区间[a, b]上连续B. 函数f(x)在区间[a, b]上单调递增C. 函数f(x)在区间[a, b]上存在根D. 函数f(x)在区间[a, b]上可导3. 数值积分是通过将定积分转化为求和的方法来近似计算积分值的过程。

下列哪个方法是常用的数值积分方法?A. 矩形法则B. 辛普森规则C. 梯形规则D. 高斯-勒让德法则4. 龙格-库塔法是常用于求解常微分方程的数值解法。

以下哪个选项是描述龙格-库塔法的特点?A. 该方法是一种多步法B. 该方法是一种多项式插值法C. 该方法是一种单步法D. 该方法是一种数值积分法5. 用有限差分法求解偏微分方程时,通常需要进行网格剖分。

以下哪个选项是常用的网格剖分方法?A. 多边形剖分法B. 三角剖分法C. 矩形剖分法D. 圆形剖分法二、解答题1. 将函数f(x) = e^x 在区间[0, 1]上用复化梯形规则进行数值积分,分为6个子区间,求得的近似积分值为多少?解:将区间[0, 1]等分为6个子区间,每个子区间的长度为h = (1-0)/6 = 1/6。

根据复化梯形规则的公式,近似积分值为:I ≈ (1/2) * h * [f(0) + 2f(1/6) + 2f(2/6) + 2f(3/6) + 2f(4/6) + 2f(5/6) +f(1)]≈ (1/2) * (1/6) * [e^0 + 2e^(1/6) + 2e^(2/6) + 2e^(3/6) + 2e^(4/6) +2e^(5/6) + e^1]2. 使用二分法求解方程 x^3 - 3x + 1 = 0 在区间[1, 2]上的根。

要求精确到小数点后三位。

解:首先需要判断方程在区间[1, 2]上是否存在根。

数值分析3.1.二分法、迭代法及收敛性

数值分析3.1.二分法、迭代法及收敛性

上述令p→∞, 及limxk+p=x* (p→∞)即得(2.6)式. 证毕. 注:误差估计式(2.5)原则上确定迭代次数,但它由 于含有信息 L 而不便于实际应用. 而误差估计式(2.6) 是实用的,只要相邻两次计算结果的偏差足够小即 可保证近似值 xk 具有足够精度.
注: 对定理1和定理2中的条件2º 可以改为导数,即 在使用时如果(x)∈C[a, b]且对任意x∈[a, b]有
显然f(x)∈C[a, b],且满足f(a)=(a)-a>0, f(b)=(b)-b<0, 由连续函数性质可知存在 x*∈(a, b) 使 f(x*)=0,即 x*=(x*),x*即为(x)的不动点. 再证不动点的唯一性. 设x1*, x2*∈[a, b]都是(x) 的不动点,则由(2.4)得
可以如此反复迭代计算
xk+1=(xk) 到的序列{xk}有极限 (k=0,1,2,). (2.2)
(x)称为迭代函数. 如果对任何x0∈[a, b],由(2.2)得
lim xk x .
k
则称迭代方程(2.2)收敛. 且x*=(x*)为(x)的不动点, 故称(2.2)为不动点迭代法.
例1 用二分法求方程 f(x)=x3-x-1=0在(1, 1.5)的实根, 要求误差不超过0.005.
解 由题设条件,即:
|x*-xn|≤0.005 则要
1 2
n 1
(b a)
1 2
n 1
(1.5 1)
1 2
n 2
0.005
2 由此解得 n 1 5.6,取 n=6, 按二分法计算过程见 lg 2
L2 xk 1 xk 2 Lk x1 x0 .
于是对任意正整数 p 有

牛顿迭代法与其他迭代法

牛顿迭代法与其他迭代法

牛顿迭代法与其他迭代法迭代法是一种常见的数值计算方法,用于求解方程的近似解。

其中,牛顿迭代法是一种较为常用且有效的迭代法。

本文将对牛顿迭代法与其他迭代法进行比较和探讨。

一、牛顿迭代法的原理和步骤牛顿迭代法是由英国物理学家牛顿在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;- 重复上述步骤,直到满足精度要求。

数值分析实验报告心得(3篇)

数值分析实验报告心得(3篇)

第1篇在数值分析这门课程的学习过程中,我深刻体会到了理论知识与实践操作相结合的重要性。

通过一系列的实验,我对数值分析的基本概念、方法和应用有了更加深入的理解。

以下是我对数值分析实验的心得体会。

一、实验目的与意义1. 巩固数值分析理论知识:通过实验,将课堂上学到的理论知识应用到实际问题中,加深对数值分析概念和方法的理解。

2. 培养实际操作能力:实验过程中,我学会了使用Matlab等软件进行数值计算,提高了编程能力。

3. 增强解决实际问题的能力:实验项目涉及多个领域,通过解决实际问题,提高了我的问题分析和解决能力。

4. 培养团队协作精神:实验过程中,我与同学们分工合作,共同完成任务,培养了团队协作精神。

二、实验内容及方法1. 实验一:拉格朗日插值法与牛顿插值法(1)实验目的:掌握拉格朗日插值法和牛顿插值法的原理,能够运用这两种方法进行函数逼近。

(2)实验方法:首先,我们选择一组数据点,然后利用拉格朗日插值法和牛顿插值法构造插值多项式。

最后,我们将插值多项式与原始函数进行比较,分析误差。

2. 实验二:方程求根(1)实验目的:掌握二分法、Newton法、不动点迭代法、弦截法等方程求根方法,能够运用这些方法求解非线性方程的根。

(2)实验方法:首先,我们选择一个非线性方程,然后运用二分法、Newton法、不动点迭代法、弦截法等方法求解方程的根。

最后,比较不同方法的收敛速度和精度。

3. 实验三:线性方程组求解(1)实验目的:掌握高斯消元法、矩阵分解法等线性方程组求解方法,能够运用这些方法求解线性方程组。

(2)实验方法:首先,我们构造一个线性方程组,然后运用高斯消元法、矩阵分解法等方法求解方程组。

最后,比较不同方法的计算量和精度。

4. 实验四:多元统计分析(1)实验目的:掌握多元统计分析的基本方法,能够运用这些方法对数据进行分析。

(2)实验方法:首先,我们收集一组多元数据,然后运用主成分分析、因子分析等方法对数据进行降维。

非线性方程组求解

非线性方程组求解

非线性方程组求解非线性方程组在科学、经济等领域中应用广泛,然而,由于非线性方程组的求解困难性,这使得许多问题存在困扰。

非线性方程组求解是一个复杂的过程,在此过程中需要对多种数学技术和算法有深入的了解。

本文就非线性方程组求解这个话题进行了探讨。

一、非线性方程组的定义非线性方程组是指一组包含至少一个非线性方程的方程组。

非线性方程组是一种数据的数学模型,它描述了在特定条件下各个因素之间的相互依赖关系。

非线性方程组的解通常用来预测一个系统的行为,并且是许多数学和科学领域的重要工具。

二、非线性方程组求解的困难性非线性方程组求解的困难性是因为它们存在着多个未知数和多个方程之间的相互依赖关系。

这使得非线性方程组的求解无法通过简单的代数运算来获得,而且通常需要更高级的数学知识和算法。

在许多情况下,非线性方程组可能无法解析地求解,这时需要采用数值方法来求解。

三、非线性方程组求解的方法1. 牛顿迭代法牛顿迭代法是最常用的求解非线性方程组的方法之一。

它将非线性方程组看作一组关于未知量的函数,并利用泰勒公式将其逼近为线性表达式。

由于直接求解非线性方程组比较难,牛顿迭代法通常将其转化为求解一系列线性方程组的问题。

2. 非线性迭代法非线性迭代法是一种通过递推计算的方式求解非线性方程组的方法。

具体地说,非线性迭代法会将非线性方程组转化为一组迭代公式,然后通过不断迭代来逼近方程组的解。

3. 二分法二分法是一种通过对非线性方程组的解进行区间逼近来求解的方法。

二分法的基本思路是通过每次将原来的区间对半分来寻找解所在的范围。

四、结语非线性方程组求解是一个重要的数学问题,应用广泛且具有挑战性。

本文主要介绍了三种很常用的求解方法,即牛顿迭代法、非线性迭代法和二分法。

在实际运用中,这些方法可以单独或者联合使用,以求得更准确的解。

第7章 非线性方程的数值解法

第7章 非线性方程的数值解法

设 0为给定精 度要求,试确定分半次 数k 使
x* xk
ba 2k
由 于2k , 两 边 取 对 数 , 即 得
ba
k ln(b a) ln
ln 2
数值分析
18/47
§例1: 5.用2 二二分分法 求 法x3 4x2 10 0在[1,2]内 的 根 ,
要 求 绝 对 误 差 不 超 过1 102。 2
第七章 非线性方程的数值解法
数值分析
本章内容
§7.1 方程求根与二分法 §7.2 不动点迭代及其收敛性 §7.4 牛顿法 §7.5 弦截法
数值分析
2/47
本章要求
1. 掌握二分法基本原理,掌握二分法的算法 流程;
2. 掌握理解单点迭代的基本思想,掌握迭代 的收敛条件;
3. 掌握Newton迭代的建立及几何意义,了解 Newton迭代的收敛性;
27/47
§ 7.2 不动点迭代法及其收敛性
不动点迭代的几个重要问题: 1、迭代格式的构造; 2、初值的选取; 3、敛散性的判断;☆ 4、收敛速度的判断。
数值分析
28/47
§ 7.2 不动点迭代法及其收敛性
三.压缩映射原理(整体收敛性)
考虑方程x g( x), g( x) C[a, b], 若
则f (x)=0在[a, b]内必有一根。
二. 过程
将区间对分,判别f (x)的符号,逐步缩小有根区 间。
数值分析
14/47
§7.1.2 二分法
三. 方法
取xmid=0.5*(a+b)
若f(xmid) < (预先给定的精度),则xmid即为根。
否则,若f (a)*f (xmid)<0,则取a1=a,b1=xmid 若f (a)*f (xmid)>0,则取a1=xmid,b1=b 此时有根区间缩小为[a1, b1],区间长度为 b1-a1=0.5*(b-a)

数值分析实验报告总结

数值分析实验报告总结

一、实验背景数值分析是研究数值计算方法及其理论的学科,是计算机科学、数学、物理学等领域的重要基础。

为了提高自身对数值分析理论和方法的理解,我们进行了数值分析实验,通过实验加深对理论知识的掌握,提高实际操作能力。

二、实验目的1. 理解数值分析的基本理论和方法;2. 掌握数值分析实验的基本步骤和技巧;3. 培养实验设计和数据分析能力;4. 提高编程和计算能力。

三、实验内容本次实验主要分为以下几个部分:1. 线性方程组求解实验:通过高斯消元法、LU分解法等求解线性方程组,并分析算法的稳定性和误差;2. 矩阵特征值问题计算实验:利用幂法、逆幂法等计算矩阵的特征值和特征向量,分析算法的收敛性和精度;3. 非线性方程求根实验:运用二分法、牛顿法、不动点迭代法等求解非线性方程的根,比较不同算法的优缺点;4. 函数插值实验:运用拉格朗日插值、牛顿插值等方法对给定的函数进行插值,分析插值误差;5. 常微分方程初值问题数值解法实验:运用欧拉法、改进的欧拉法、龙格-库塔法等求解常微分方程初值问题,比较不同算法的稳定性和精度。

四、实验过程1. 线性方程组求解实验:首先,编写程序实现高斯消元法、LU分解法等算法;然后,对给定的线性方程组进行求解,记录计算结果;最后,分析算法的稳定性和误差。

2. 矩阵特征值问题计算实验:编写程序实现幂法、逆幂法等算法;然后,对给定的矩阵进行特征值和特征向量的计算,记录计算结果;最后,分析算法的收敛性和精度。

3. 非线性方程求根实验:编写程序实现二分法、牛顿法、不动点迭代法等算法;然后,对给定的非线性方程进行求根,记录计算结果;最后,比较不同算法的优缺点。

4. 函数插值实验:编写程序实现拉格朗日插值、牛顿插值等方法;然后,对给定的函数进行插值,记录计算结果;最后,分析插值误差。

5. 常微分方程初值问题数值解法实验:编写程序实现欧拉法、改进的欧拉法、龙格-库塔法等算法;然后,对给定的常微分方程初值问题进行求解,记录计算结果;最后,比较不同算法的稳定性和精度。

数值分析期末考卷

数值分析期末考卷

数值分析期末考卷一、选择题(每题4分,共40分)A. 插值法B. 拟合法C. 微分法D. 积分法A. 高斯消元法B. 高斯赛德尔迭代法C. 共轭梯度法D.SOR方法3. 下列哪个算法不是求解非线性方程的方法?A. 二分法B. 牛顿法C. 割线法D. 高斯消元法A. 梯形法B. 辛普森法C. 高斯积分法D. 复化求积法A. 欧拉法B. 龙格库塔法C.亚当斯法D. 高斯消元法A. 幂法B. 反幂法C. 逆迭代法D. QR算法A. 梯度下降法B. 牛顿法C. 共轭梯度法D. 高斯消元法A. 拉格朗日插值法B. 牛顿插值法C. 埃尔米特插值法D. 分段插值法A. 前向差分法B. 后向差分法C. 中心差分法D. 拉格朗日插值法A. 牛顿法B. 割线法C. 雅可比迭代法D. 高斯消元法二、填空题(每题4分,共40分)1. 数值分析的主要任务包括数值逼近、数值微积分、数值线性代数和______。

2. 在求解线性方程组时,迭代法的收敛速度与______密切相关。

3. 牛顿法的迭代公式为:x_{k+1} = x_k f(x_k)/______。

4. 在数值积分中,复化梯形公式的误差为______。

5. 求解常微分方程初值问题,龙格库塔法的阶数取决于______。

6. 矩阵特征值的雅可比方法是一种______方法。

7. 梯度下降法在求解无约束优化问题时,每次迭代的方向为______。

8. 拉格朗日插值多项式的基函数为______。

9. 数值微分中的中心差分公式具有______阶精度。

10. 在求解非线性方程组时,牛顿法的迭代公式为:x_{k+1} =x_k J(x_k)^{1}______。

三、计算题(每题10分,共60分)1. 给定数据点(1,2),(2,3),(3,5),(4,7),求经过这四个数据点的拉格朗日插值多项式。

2. 用牛顿迭代法求解方程x^3 2x 5 = 0,初始近似值为x0 = 2,计算前三次迭代结果。

东南大学-数值分析-第二章-牛顿迭代法

东南大学-数值分析-第二章-牛顿迭代法

东南大学-数值分析-第二章-牛顿迭代法第二章非线性方程的解法某某某某(学号)某某某某(姓名)算法与程序题目见教材P56上机题目20。

一、算法原理根据题目的要求,是关于用牛顿迭代法法求解方程f(某)0的通用算法。

该法是一种通过斜率迭代的算法,其速度比二分法和简单迭代法都要快。

其简单原理如下:设fC2[a,b],且存在数p[a,b],满足f(p)0。

如果f(p)0,则存在一个数0,对任意初始值p0[p,p],使得由如下定义的迭代序列{pk}k0收敛到p:pkg(pk1)pk1f(pk1),其中k1,2,f(pk1)(1)对于函数f(某)某3/3某=0,则其递推规则是32pkpk21,其中k1,2,3pk1-3(2)定义序列{pk}则序列{pk}也可表示为limpk某现简要证明:k0,k0收敛到某,某对于f(某)某3/3某,得f'(某)某2-1,写出牛顿迭代公式f(某)某3/3某g(某)某某2f(某)某-1(3)该公式可化简为2某3g(某)23某3(4)二、流程图题目要求于用牛顿迭代法法求解方程f(某)0的通用算法。

其计算过程主要第二章非线性方程的解法用到迭代g(某)某f(某),图流程图1所示。

f(某)输入各参数k=1迭代pkg(pk1)pk1f(pk1),其中k1,2,f(pk1)Tbreak计算各误差误差在允许范围之内Fk=k+1k三、计算代码核心代码1)p1=……;2)if(err程序1:Newton.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Decription:牛顿迭代法%Author:panyunqiang%Veroin:1.0%Date:2022-9-21%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f unction[p0,err,k,y]=Newton(p0,delta,epilon,ma某N)%input-p0itheinitialappro某imationtoazerooff%-deltaithetoleranceforp0%-epilonithetoleranceforthefunctionvaluey%-ma某Nithema某iumnumberofiteration%output-p0itheNewtonappro某imationtoazero%-erritheerroretimateforp0东南大学《数值分析》上机练习——算法与程序设计实验报告%-kithenumberofiteration%-yithefunctionvaluef(p0)fork=1:ma 某N%%递归p1=2某p0^3/(3某p0^2-3);%%计算误差err=ab(p1-p0);relerr=2某err/(ab(p1)+delta);p0=p1;%%当前求出的根的函数值y=p0^3/3-p0;%%判断if(err程序2:Newton_Step.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%Decription:寻找题目中关于牛顿迭代法收敛的尽可能大的delta%搜索步进为tep=10^(-6),即精确到小数点后六位%Author:panyunqiang%Veroin:1.0%Date:2022-9-21%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %formatlongtep=10^(-6);delta=10^-8;epilon=10^-8;ma某N=1000;p=0.6;[p0,err,k,y]=Newton(p,delta,epilon,ma某N);while((ab(p0)<=epilon)&(p0~=NaN))p=p+tep;[p0,err,k,y]=Newton(p,delta,epilon,ma某N);endp-tep四、计算结果及分析a)运行程序Newton_Step.m,获得Newton局部收敛于某2=0的初始值的范围=0.774596,六位有效数字。

第7章 非线性方程求根

第7章 非线性方程求根

k 且区间长度逐次减半, bk ak (b a) 2 .
非线性方程求根的二分法
二分法基本步骤: 随着k的增大,有根区间长度趋于零,区间端点向 * lim a lim b lim x x . 一点收缩, k k k k k k 显然x*即为f(x)=0的根。而x0, x1, …,xk,…为近似根 * 序列。设要求精度为ε ,即 x xk ,

x1 x* ( )(x0 x* ) M ( x0 x* ), x2 ( x1 ), x2 x M ( x1 x ).
* *
加速迭代法
消去M得
x1 x* x0 x* , * * x2 x x1 x
2
2 x x x ( x x ) 1 0 x* x1 0 2 1 x0 , x2 2 x1 x0 x0 2 x1 x2
斯蒂芬森迭代法
结合埃特金加速法和不动点迭代法形成斯 蒂芬森迭代法:

yk ( xk ), z k ( yk ), ( y k xk ) xk 1 xk z k 2 y k xk
2
(k 0,1, ).
斯蒂芬森迭代法几何意义
定义x点关于方程 x ( x) 的误差为: ( x) ( x) x. * * * * ( x ) ( x ) x 0. 则该方程的根x 的误差
非线性方程的迭代法求根
基本概念 非线性方程f(x)=0的根(解) x*,也称为非线性 函数f(x)的零点,f(x*)=0。 f(x)=0的m重根定义:f(x)=(x-x*)mg(x), g(x*)≠0,则称x*为f(x)=0的m重根,或f(x)的 m重零点。 m重根的判定条件: x*为f(x)=0的m重根当 且仅当 * * ( m1) * ( m) * f (x ) f (x ) f ( x ) 0; f ( x ) 0.

数值分析——二分法及迭代法

数值分析——二分法及迭代法

数值分析——二分法及迭代法数值分析是研究用数值方法解决数学问题的一门学科。

在数值分析中,二分法和迭代法是两种常用的数值求解方法。

本文将对二分法和迭代法进行详细介绍,并比较它们的特点和适用范围。

一、二分法二分法是一种通过将问题分解为两个子问题,并选择其中一个子问题进行求解的方法。

它适用于解决连续函数的求根问题。

二分法的基本思想是利用中值定理,通过不断缩小区间来逼近根的位置。

具体步骤如下:1.选取一个初始的区间[a,b],确保f(a)和f(b)的符号相反。

2.计算区间的中点c=(a+b)/23.判断f(c)的符号,并更新区间。

若f(c)与f(a)符号相反,则更新区间为[a,c];否则更新区间为[c,b]。

4.重复步骤2和步骤3,直到满足停止准则(例如满足一定精度要求,或达到最大迭代次数)。

5.最后得到的近似根为区间的中点c。

二分法的优点是收敛速度快,且能够保证收敛到根的位置。

然而,二分法的缺点是每次迭代只能减少一半的区间长度,所以其收敛速度相对较慢。

此外,二分法需要事先确定区间,并且要求f(a)和f(b)的符号相反,这对于一些问题来说可能并不容易实现。

因此,二分法主要适用于单峰函数求根问题。

二、迭代法迭代法是一种通过迭代逐步逼近解的方法。

它适用于一般的数值求解问题。

迭代法的基本思想是通过不断迭代的过程,将原始问题转化为一个具有相同解的等价问题,并通过逐步逼近来求解。

具体步骤如下:1.选取一个初始的近似解x_0。

2.根据迭代公式x_{k+1}=g(x_k),计算下一个近似解x_{k+1},其中g(x)是一个适当的函数。

3.判断迭代是否达到停止准则(例如满足一定精度要求,或达到最大迭代次数)。

若满足停止准则,则停止迭代;否则返回步骤2继续迭代。

4.最终得到的近似解为迭代过程中的最后一个近似解x_k。

迭代法的优点是适用范围广,可以求解一般的数值问题。

此外,迭代法的迭代公式可以根据具体问题的特点进行选择,使得迭代过程更加高效。

数值分析求解非线性方程根的二分法、简单迭代法和牛顿迭代法说课材料

数值分析求解非线性方程根的二分法、简单迭代法和牛顿迭代法说课材料

数值分析求解非线性方程根的二分法、简单迭代法和牛顿迭代法实验报告一:实验题目 一、 实验目的掌握求解非线性方程根的二分法、简单迭代法和牛顿迭代法,并通过数值实验比较两种方法的收敛速度。

二、 实验内容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=-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附近。

c++ 用二分法,简单迭代法,牛顿迭代法以及弦截法求非线性方程 源程序代码

c++ 用二分法,简单迭代法,牛顿迭代法以及弦截法求非线性方程 源程序代码
t=x1;
x1=x2;
x2=t;
}
while(x2-x1>0.000006)
{
n++;
if(F(x1)*F(x2)<0)
if(F(x1)*F(x2)==0)
c=DD_qj();
printf("x=%f 时 F(x)=0\n",c,c);
getchar();
getchar();
return 0;
}
float EF_qj(void) //定义EF_QJ()函数
{
int n=0;
printf("\n\n……用二分法求方程的根……\n\n");
x2=x;
else
x1=x;
}
else
{
printf("x1-x2之间无解\n");
return 0;
printf("请输入X2的初始值:\n");
scanf("%f",&x2);
if(x1>x2)
{
float t;
t=x1;
x1=x2;
x2=t;
}
x=x2-(x2-x1)/(F(x2)-F(x1))*F(x2);
}
float XJ_qj(void) //定义XJ_qj()函数
{
int n=0;
printf("\n\n……用弦截法求方程的根……\n\n");
float x,x1,x2;
printf("请输入X1的初始值:\n");

西南交大 数值分析 非线性方程组的五种解法

西南交大 数值分析 非线性方程组的五种解法

目录摘要 (2)1 绪论 (3)2 五种解法 (3)2.1 二分法 (3)2.1.1 二分法简介 (3)2.1.2二分法的MATLAB程序 (3)2.2 不动点迭代法(简单迭代法) (4)2.2.1 不动点迭代法简介 (4)2.2.2 不动点迭代法的MATLAB程序 (5)2.3 牛顿法 (5)2.3.1 牛顿法简介 (5)2.3.2 牛顿法的MATLAB程序 (5)2.4 简易牛顿法 (6)2.4.1 简易牛顿法简介 (6)2.4.2 简易牛顿法的MATLAB程序 (6)2.5 割线法 (6)2.5.1 割线法简介 (6)2.5.2 割线法的MATLAB程序 (7)3 例子计算及比较分析 (7)4 结论 (11)参考文献 (12)摘要本论文介绍了二分法、不动点迭代法、牛顿法、简易牛顿法、割线法五种算法原理,然后进行了MATLAB编程,得到能求解非线性方程的根的程序。

本文分别用这五种方法的MATLAB程序对五个例子进行了计算,得到各种方法所需的迭代次数,迭代精度,迭代时间等,从而分析比较五种方法的优缺点。

关键词:非线性方程二分法简单迭代法牛顿法简易牛顿法割线法1 绪论在科学工作中经常出现这类问题,即求解非线性方程或非线性方程组—求x 使得f(x)=0或求X=(x1,x2,⋯,x n)T使得F(x)=0。

本论文采用5种方法即二分法、不动点迭代法(简单迭代法)、牛顿法、简易牛顿法、割线法,通过对原理的理解进行了MATLAB编程,然后对几个例子进行各种解法计算,进行比较分析,从而发现各种算法的优势与不足,增加对各种算法的理解。

作者所使用的计算机配置如表1-1所示。

表1-1 计算平台简介2 五种解法2.1 二分法2.1.1 二分法简介若f是区间[a,b]的连续函数,且f (a) f (b) < 0,则f在[a,b]内必有一个零点。

因为f (a) f (b) < 0,所以函数f在区间[a,b]上改变符号,因此它在这个区间内至少存在一个零点。

(完整word版)数值分析报告-二分法和牛顿法方程求根(word文档良心出品)

(完整word版)数值分析报告-二分法和牛顿法方程求根(word文档良心出品)

《数值分析》实验报告一**: **学号: PB********实验一一、实验名称方程求根二、实验目的与要求:通过对二分法和牛顿法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点;比较二者的计算速度和计算精度。

三、实验内容:通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点 。

(一)二分法算法:给定区间[a,b],并设f (a )与f (b )符号相反,取δ为根的容许误差,ε为值的容许误差。

(1)令c=(a+b)/2(2)如果(c-a)< δ或)(c f <ε,则输出c ,结束;否则执行(3)(3)如果f(a)f(c)<0,则令)()(,c f b f c b ←←;否则,则令)()(,c f a f c a ←←,重复(1),(2),(3)。

(二)牛顿迭代法:给定初值0x ,ε为根的容许误差,η为)(x f 的容许误差,N 为迭代次数的容许值。

(1)如果)(x f <η或迭代次数大于N ,则算法结束;否则执行(2)。

(2)计算)('/)(0001x f x f x x -=(3)若 < 或 < ,则输出 ,程序结束;否则执行(4)。

(4)令 = ,转向(1)。

四、实验题目与程序设计1、二分法3.1.1、用二分法求方程a. f(x)= x x tan 1--在区间[0,π/2]上的根,c. f(x)=6cos 22-++-x e x x 在区间[1,3]上的根。

源程序:3.1.1.a#include<stdio.h>#include<math.h>void main(){float a,b;double c,y,z;printf("plese input two number a and b:\n");scanf("%f%f",&a,&b);c=(a+b)/2;y=1/c-tan(c);printf("a=%f,b=%f,b-a=%f,c=%f,f(c)=%f\n",a,b,b-a,c,y);while(fabs(b-a)>0.00001|| fabs(y)>0.00001){z=1/a-tan(a);if(z*y<0)b=c;elsea=c;c=(a+b)/2;y=1/c-tan(c);printf("a=%f,b=%f,b-a=%f,c=%f,f(c)=%f\n",a,b,b-a,c,y);}x x 01-ε)(1x f ηx 1x 0x 1}输入0 1.5707563( /2~1.5705563)得到下表:由上表可以看出刚开始时f(c)取值幅度很大,但是经过一段历程之后,幅度变得平缓甚至基本接近与零,我们认为,x=0.8603是方程的根,结果与实际想要得到的值相当接近。

数值分析实验报告_清华大学_非线性方程的解法

数值分析实验报告_清华大学_非线性方程的解法

非线性方程的解法实验1.算法设计与比较问题提出:非线性方程组的求解方法很多,基本的思想是线性化。

不同的方法效果如何,要靠计算的实践来分析、比较。

实验内容:考虑算法(1)牛顿法(2)拟牛顿法分别编写它们的matlab程序。

实验要求:(1)用上述方法,分别计算两个例子。

在达到精度相同的前提下,比较迭代次数、浮点运算次数和CPU时间等。

1.1程序清单为使用flops统计浮点运算次数,使用MATLAB5.3版本%f1.m原函数f1function y=f(x)y(1)=12*x(1)-x(2)^2-4*x(3)-7;y(2)=x(1)^2+10*x(2)-x(3)-8;y(3)=x(2)^3+10*x(3)-8;end%ff1.m原函数f1的雅克比矩阵function y=ff(x)y(1,:)=[12,-2*x(2),-4];y(2,:)=[2*x(1),10,-1];y(3,:)=[0,3*x(2)^2,10];end%f1.m原函数f2function y=f2(x)y(1)=3*x(1)-cos(x(2)*x(3)) -1/2;y(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;y(3)=exp(-x(1)*x(2))+20*x(3)+1/3*(10*pi-3);end%ff2.m原函数f2的雅克比矩阵function y=ff2(x)y(1,:)=[3,x(3)*sin(x(2)*x(3)),x(2)*sin(x(2)*x(3))];y(2,:)=[2*x(1),-2*81*(x(2)+0.1),cos(x(3))];y(3,:)=[-x(2)*exp(-x(1)*x(2)),-x(1)*exp(-x(1)*x(2)),20]; end%牛顿法(以第一个方程组为例)clear;x0=[0,0,0]';n=10;tol=1e-6;x(:,1)=x0;i=1;u=[1,1,1]';tic;while (norm(u)>tol*norm(x(:,i))&(i<n))A=ff1(x(:,i));b=f1(x(:,i))';u=-A\b;x(:,i+1)=x(:,i)+u;i=i+1;end;x(:,i)iter=i-1t=toc%拟牛顿法(以第一个方程组为例)clear;x0=[0,0,0]';n=10;tol=1e-6;x(:,1)=x0;i=1;p=[1,1,1]';A=ff1(x(:,1));tic;while (norm(p)>tol*norm(x(:,i))&(i<n))x(:,i+1)=x(:,i)-A\f1(x(:,i))';p=x(:,i+1)-x(:,i);q=f1(x(:,i+1))'-f1(x(:,i))';A=A+(q-A*p)*p'/norm(p,2)^2;i=i+1;end;iter=i-1t=tocx(:,i)1.2运行结果1.2.1第一个方程组精确解为*T =(0.886020214719037, 0.796444775323146, 0.749479574122230)x 取最大迭代次数n=5000,相对误差限Tol=1e-6 (1)取()(0)1,1,1x T=牛顿迭代法迭代3次收敛,浮点运算次数为440,每次迭代平均浮点运算次数为147,CPU 耗时t =0(s)拟牛顿法迭代4次收敛,浮点运算次数为1048,每次迭代平均浮点运算次数为262,CPU 耗时t =0(s)(2)取()(0)000x T =,, 牛顿迭代法迭代4次收敛,浮点运算次数为510,每次迭代平均浮点运算次数为128,CPU 耗时t =1.600e-002(s)拟牛顿法迭代6次收敛,浮点运算次数为1493,每次迭代平均浮点运算次数为248,CPU 耗时t =1.50e-002(s)(3)取()(0)50,5050x T=,牛顿迭代法迭代15次收敛,浮点运算次数为2118,每次迭代平均浮点运算次数为141,CPU 耗时t =1.600e-002(s)拟牛顿法迭代338次收敛,浮点运算次数为88454,每次迭代平均浮点运算次数为262,CPU 耗时t =3.100e-002(s)1.2.2第二个方程组精确解为*T =(0.886020214719037, 0.796444775323146, 0.749479574122230)x 取最大迭代次数n=5000,相对误差限Tol=1e-6(1)取()(0)000x T=,, 牛顿迭代法迭代5次收敛,浮点运算次数为776,每次迭代平均浮点运算次数为155.2,CPU 耗时t =0(s)拟牛顿法迭代6次收敛,浮点运算次数为1635,每次迭代平均浮点运算次数为273,CPU 耗时t =0(s)(2)取()(0)888x T=,, 牛顿迭代法迭代9次收敛,浮点运算次数为1519,每次迭代平均浮点运算次数为169,CPU 耗时t =0(s)拟牛顿法迭代21次收敛,浮点运算次数为5924,每次迭代平均浮点运算次数为282,CPU 耗时t =1.600e-002(s)(3)对于离精确解更远的初值(如()(0)101010x T=,,),在计算中会出现奇异或接近奇异的矩阵,计算结果误差很大或计算根本无法进行下去。

数值分析中的非线性方程求解与优化

数值分析中的非线性方程求解与优化

数值分析中的非线性方程求解与优化数值分析是应用数学的一个重要分支,通过利用数值方法,将复杂的数学问题转化为计算机可以处理的形式,从而获得结果的近似解。

非线性方程求解与优化是数值分析的两个重要问题,本文将围绕这两个问题展开讨论。

一、非线性方程求解在数学中,非线性方程通常指的是未知量和其函数之间存在非线性关系的方程。

与线性方程不同,非线性方程的解往往无法用简单的代数方法求解,而需要借助数值方法来逼近求解。

1.试位法试位法是一种基本的非线性方程数值解法,其基本思想是通过在方程的根附近选择一个合适的初始值,并通过不断迭代逼近根的位置。

试位法的一种简单实现是二分法,即利用函数值的符号变化性来确定一个区间,并通过区间的二分来逼近根的位置。

2.牛顿迭代法牛顿迭代法是一种常用的非线性方程数值解法,它利用函数的局部线性逼近来不断迭代求解。

具体来说,牛顿迭代法首先通过选择一个初始值,然后通过函数的切线近似代替原函数,从而得到一个简单的线性方程,求解线性方程得到下一个近似解,不断迭代直到满足精度要求。

3.弦截法弦截法是一种解非线性方程的迭代方法,它与牛顿迭代法类似,但是不需要计算函数的导数。

具体来说,弦截法通过选择两个初始值,并通过这两个点所确定的直线与横轴的交点来逼近根的位置,然后再利用新的两个点来更新直线和根的位置,不断迭代直到满足精度要求。

二、非线性方程优化非线性方程优化是在满足一定约束条件下,求解使目标函数取得极值的问题。

该问题在实际应用中广泛存在,例如在经济学、工程学、管理学等领域都需要进行优化求解。

1.最优化理论最优化理论是研究优化问题的一门学科,其中非线性规划是最常见的一种形式。

非线性规划是在一组非线性约束条件下求解使目标函数取得极值的问题,其数学模型可以表示为:minimize f(x)subject to g(x) ≤ 0h(x) = 0其中,f(x)是目标函数,g(x)和h(x)分别表示不等式约束和等式约束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告一:实验题目一、 实验目的掌握求解非线性方程根的二分法、简单迭代法和牛顿迭代法,并通过数值实验比较两种方法的收敛速度。

二、 实验内容1、编写二分法、牛顿迭代法程序,并使用这两个程序计算02)(=-+=xe x xf 在[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)(=-+=xe x xf 区间[0,1] 函数画图可得函数零点约为0.5。

画图函数: function Test1()% f(x) 示意图, f(x) = x + exp(x) - 2; f(x) = 0 r = 0:0.01:1; y = r + exp(r) - 2 plot(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) = 0r = 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) = 0ezplot('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作为迭代初值。

根据图片可以看出函数零点的值在0.02与0.03之间,可采用0.02作为迭代初值。

第3题:根据图片可以看出函数最小正数零点的值在1与2之间,在使用牛顿迭代法时可以采用1为迭代初值。

根据图片可以看出函数重根为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;从结果中可以看出牛顿迭代法在计算单根时比计算重根时的收敛速度快很多,针对重根的计算,改进后牛顿迭代法大大减小了迭代的次数,提高了收敛速度。

相关文档
最新文档