当前课程知识点:数值分析 >  第八章 非线性方程的求解 >  8.2 简单迭代法的加速、牛顿法与弦截法 >  简单迭代法的加速、牛顿法与弦截法

返回《数值分析》慕课在线视频课程列表

简单迭代法的加速、牛顿法与弦截法在线视频

下一节:常微分方程数值解法概述

返回《数值分析》慕课在线视频列表

简单迭代法的加速、牛顿法与弦截法课程教案、知识点、字幕

大家好 今天我们来介绍

简单迭代法的加速

即Steffensen方法

首先我们给出

一个数列收敛速度的概念

如果数列xn

当n趋向于∞的时候

极限是x*

如果我们能够存在一个正数r和a

使得xn+1 减掉x*的绝对值

除以xn减掉x*的绝对值的r次方

当n趋向于∞的时候 极限是a

这时候我们就称

这个数列xn是r阶收敛于x*

或者xn这个数列

它的收敛阶是r

特别的 当r=1的时候

我们称为线性收敛

r>1的时候 称为超线性收敛

r=2 我们称为平方收敛

接下来 我们给出一个迭代格式

它的收敛速度的定理

即定理8.4

我们假设迭代函数φ(x)

在x*附近有r阶导数 r≥2

而且 x*等于φ(x*)

即x*是方程的根

φ在x*的一阶导数 二阶导

一直到r-1阶导都等于零

φ在x*的r阶导

是不等于零的

那这个时候 我们可以得出

这个迭代格式xn+1等于φ(xn)

所产生的迭代序列xn

是r阶收敛于x*的

下面

我们来看一下这个定理的证明

由于φ'(x*)等于0

我们由定理8.3

即可以知道存在一个δ大于0

当我的初值在这x*的邻域的时候

迭代格式所产生的迭代序列是收敛于x*

而且 xn也在x*的一个δ邻域上

下面 我们来看一下

这个迭代序列它的收敛阶

讨论xn+1-x*

除以(xn-x*)它的r次方

当n趋向于∞时候的极限

根据定义

xn+1应该等于φ(xn)

x* 等于φ(x*)

所以xn+1-x*

除以(xn-x*)的r次方

就等于φ(xn)-φ(x*)

除以(xn-x*)的r次方

下面我们把φ(xn)在x*点作Taylor展开

即φ(xn)等于φ(x*)

加上φ'(x*)乘以xn-x*

加一直加

展到这个r-1阶

它的余项是

φ的r阶导数在ξ的值

除以r的阶乘

乘以(xn-x*)的r次方

根据条件

我们这里的φ在x*的一阶导

二阶导 一直到r-1阶导都等于零

因此φ(xn)就等于φ(x*)

加上φ的r阶导数在ξ点的值

除以r的阶乘乘以(xn-x*)的r次方

由这个式子

我们即可以得到

xn+1-x*除以(xn-x*)的r次方

它就应该等于

φ(r)阶导数在ξ的值除以r的阶乘

我们这个时候

令n趋向于∞

那由于ξ

是介于xn和x*之间

而当n趋向于∞的时候

xn收敛于x*

因此 夹迫着ξ就收敛于x*

那因此 这个时候它的极限

就是φ的r阶导数

在x*的值除以r的阶乘

它是不等于零的

根据一个数列收敛阶的定义

即可以知道我们这里的迭代序列(xn)

它是r阶收敛于x*的

如果迭代函数φ

在x*的一阶导的绝对值是

大于0 小于1的

那这个时候的迭代法

是线性收敛的

根据这个迭代法的

收敛阶的这个定理

看一下这样一个例题

我们来证明

当x0充分接近于根号下a时

这个迭代格式xn+1等于

xn乘上xn²+3a除以

3xn²+a所产生的迭代序列

收敛于根号下a

而且它的收敛阶是3

对于这个迭代格式

它所对应的迭代函数φ

应该等于x乘以x²+3a

除以3x²+a

如果x*

是方程的根

即x*等于φ(x*)

我们可以求解方程

得到x*等于0

或者x*等于正负根号下a

现在我们来对迭代函数φ求它的导数

它的φ的一阶导

应该是等于(x²-a)²

除以(3x²+a)²

这个一阶导在根号a

我们把x等于根号a

代入φ'表达式就可以得到

φ'(根号a)等于0

由定理8.3我们可以知道

只要在根这一点

它的一阶导的绝对值

严格小于1都是收敛的

这里一阶导是等于零

所以当初值充分接近于根号a的时候

我们的迭代格式一定是收敛的

而且收敛到根号a

下面我们再来看φ它的二阶导

φ的二阶导

求出来是16ax乘以(x²-a)

除以(3x²+a)³

把x=根号a代入

φ''在根号下a的值

也是等于0

现在我们再来求它的三阶导

然后算出φ的三阶导在根号下a

它的值 是1/2a

这时候不等于0

由此我们可以看出

对于这个迭代格式来说

它的迭代函数φ

在根号a这一点

它的一阶导等于0

二阶导等于0

但是它的三阶导不等于0

我们由定理8.4即可以得出来

这个迭代格式所产生的序列

它的收敛阶是三阶收敛的

下面 我们给出简单迭代法的加速

即Steffensen方法

在第四章的时候

我们给出过

如果一个数列是线性收敛的

我们可以对这个数列做一个加速

即Aitken加速

即我们用这个数列

它的相邻的三项xn xn+1和xn+2

重新做这样一个线性组合

即xn-(xn+1-xn)²

除以xn+2-2xn+1+xn

我们把组合之后的这个数

记为(Xn) 拔

这个(Xn) 拔

我们称为序列{xn}的

一个Aitken系列

这个序列(Xn) ̅

它的收敛速度

要比xn收敛的速度要快

利用这种加速方法

我们把Aitken加速技巧

用于线性收敛的迭代序列

即可以得到Steffensen方法

它的计算过程

是这样子的

我们已知xn做一次迭代

得到yn等于φ(xn)

然后把yn代入迭代格式

计算一次

得到zn等于φ(yn)

我们把

这里的xn yn和zn

做一个Aitken加速

即xn-(yn-xn)²除以

zn-2yn+xn

我们把这个值

作为我们迭代一次得到的值

记xn+1

我们可以证明

当φ'(x*)不等于0的时候

即简单迭代法是一个线性收敛的时候

我们做了这种加速之后的

Steffensen的方法

至少是二次局部收敛的

这个

就是简单迭代法的加速

接下来我们来介绍

求解非线性方程的牛顿法和弦截法

首先 我们来看牛顿法

牛顿法 它的迭代思想

和前面的简单迭代法不一样

我们这里的一个基本思想是将

非线性方程线性化

以线性方程的解来逼近非线性方程的解

比方说

我们对于这条曲线y等于f(x)

非线性方程的解

即是这条曲线与x轴的交点

我们在求解的时候

给了初值x0

我们来做

曲线在x0 f(x0)处

它的切线即

y-f(x0)=f'(x0)(x-x0)

这条切线与x轴的交点

我们可以计算出来

即令y=0计算出

x等于x0-f(x0)除以f'(x0)

这个时候

我们可以以切线与x轴的交点

作为曲线与x轴交点的一个近似

如果这个结果不够好的话

我们再来做

过x1 f(x1)这一点的切线

那这条切线与x轴的交点

我们记为x2

x2就应该等于

x1-f(x1)除以f'(x1)

我们可以一直这样做下去

即可以得到牛顿迭代公式

即xn+1等于

xn-f(xn)除以f'(xn)

我们按照这样的一个迭代公式

来求方程f(x)等于0的近似解的方法

即称为牛顿法

由此我们可以看出

牛顿法它的几何意义

实际就是以曲线

在一点xn f(xn)的切线

与x轴的交点来作为

曲线与x轴交点的一个近似

故牛顿法

我们又称为是切线法

下面我们来看一下

我们用牛顿法来求解方程

x³+10x-20=0的根

我们的初值还是取1.5

根据牛顿法的迭代公式

xn+1等于

xn-fx(n)除以f'(xn)

那这里的f(x)

是x³+10x-20

它的导数 是3x²+10

我们代到这个公式里边

即可以得

对于这个方程

牛顿法迭代公式为 xn+1等于

xn减掉xn³+10x-20

除以3xn²+10

把初值x0等于1.5代入

即可以得x1=1.5970149

把x1代入右端

可以得到x2 x3 x4

我们会发现

经过三次迭代

这个序列就已经收敛了

所以我们可以看出来

牛顿法 它的收敛速度是非常快的

下面我们来看一下

牛顿法它的收敛性

我们假设这个函数f(x)

它在其零点x*附近是二阶可微的

而且 f'(x*)不等于0

即x*

是这个方程的一个单根

那这个时候

我们可以存在一个δ>0

只要我的初值在x*的

这个小的δ邻域的时候

牛顿法所产生的迭代序列

至少是二阶收敛于x*的

我们来看一下它的证明

对于牛顿法来说

它的迭代函数φ就应该等于

x 减掉f(x)除以f'(x)

而这个根

我们记为 x*=φ(x*)

我们来看一下迭代函数的

一阶导φ'(x*)

求导之后

是f(x*)乘以f''(x*)

除以[f'(x*)]²

那从这个表达式

我们可以看出来

我们为什么要求f'(x*)不等于0

由于x*是根

所以f(x*) 等于0

那因此 f(x*)

应该等于0

那也就是说

对于牛顿迭代法来说

它的迭代函数

在x*的一阶导等于0

根据定理8.4

我们可以知道

牛顿法至少是二阶收敛的

对于牛顿法

我们做一下说明

当求的根是一个单根的时候

牛顿法它的收敛速度快 精度高 稳定性好

但是它对初值要求比较苛刻

由于每次迭代

需要计算函数值 导数值各一次

因此计算量大

所以它只适用于

求解那种导数易求的情况

如果当这个根是重根

是r重根 r是大于1的

那这个时候牛顿法是线性收敛的

而且我们可以证明

当n趋向于∞的时候

xn+1-x*的绝对值

除以xn-x*的绝对值

它的极限是r-1/r

那因此我们这里可以看出来

r越大

这个迭代序列

它的收敛速度越慢

对于这种重根的问题

我们如何来求解

这个就是改进的牛顿法

对于重根的问题

我们在求解的时候

可以对牛顿法做以下改进

第一种改进方法是

引入一个新的函数μ

等于f(x)除以f'(x)

如果x*是f(x)=0

这个方程的一个重根

我们可以证明

x*就是μ(x)等于0

它的一个单根

那这个时候

我们可以对μ用牛顿法

即可以得到其迭代公式

xn+1等于

xn减掉μ(xn)除以μ'(xn)

那这时候它所对应的

迭代格式的收敛阶至少是2

第二种改进的方法

是我们构造这样一个迭代格式

xn+1等于

xn-r倍f(xn)除以f'(xn)

那其中这个r

就是这个根的重数

它是大于 等于2的

可以证明

以上两种改进方法

都是至少二阶收敛的

最后我们来给大家

简单介绍一下弦截法

所谓弦截法

实际上是对牛顿法的一种改进

在牛顿公式当中

如果我们把这个导数f'(xn)

用它的差商来代替

即f'(xn)近似的等于

f(xn)-f(xn-1)除以

xn-xn-1

我们即可以得到这样一个迭代公式

xn+1等于xn减掉

f(xn)除以f(xn)-f(xn-1)

再乘以(xn-xn-1)

我们按照这个公式

来求方程f(x)等于0近似解的方法

就称为弦截法

我们来看一下弦截法

它的几何意义

它的几何意义实际上是用曲线上

过两点(xn-1,f(xn-1))

(xn,f(xn))的直线

与x轴的交点

作为曲线与x轴交点的近似

那因此这个弦截法又称为割线法

或者是线性插值法

我们知道过这两点

(x0,f(x0)) (x1,f(x1))的割线方程

或者它的线性差值函数为

y-f(x1)等于f(x1)-f(x0)

除以x1-x0

再乘以(x-x1)

它与x轴的交点

我们记为x2等于x1-f(x1)

除以f(x1)-f(x0)

再乘以(x1-x0)

那这时候

我们可以用x2

作为我的这个根的一个近似

如果精度不够

我们可以过(x1,fx1)

(x2,fx2)

重新做一条弦

然后来求出它与x轴的交点为x3

依次下去

我们就可以得到割线法

它对应的迭代公式

对于弦截法

我们做一个说明

弦截法通常需要两个初值

x0,x1才能运行

在实际当中

我们通常取有根区间的两个端点作为初值

对于弦截法的收敛性

我们有这样一个结论

即定理8.6

设f(x)在x*附近二阶连续可微

而且 f(x*)等于0

f'(x*)不等于0

即x*是方程的一个单根

那这个时候我们可以证明

存在一个δ大于0

当x0 x1在x*的一个δ邻域的时候

由弦截法所产生的序列

它是收敛于x*

而且它的收敛阶

至少是1.618

那对于这个定理的证明

有兴趣的同学可以参考相应的文献

好 我们关于第八章的内容

就介绍这么多

谢谢大家

数值分析课程列表:

第一章 误差

-1.1 误差的概念

--误差的概念

-1.2 误差的传播

--误差的传播

-第一章 习题

--第一章 习题

第二章 解线性方程组的直接解法

-2.1 Gauss消去法

--Gauss消去法

-2.2 矩阵的三角分解

--矩阵的三角分解

-2.3 直接三角分解法

--直接三角分解法

-2.4 平方根法和改进的平方根法

--平方根法和改进的平方根法

-2.5 误差分析(1)向量和矩阵范数

--误差分析(1)向量和矩阵范数

-2.6 误差分析(2)条件数

--误差分析(2)条件数

-第二章 习题

--第二章 习题

第三章 解线性方程组的迭代法

-3.1 Jacobi迭代法和Gauss-Seidel 迭代法

--Jacobi迭代法和Gauss-Seidel 迭代法

-3.2 迭代法收敛性的判别

--迭代法收敛性的判别

-3.3 误差分析

--误差分析

-第三章 习题

--第三章 习题

第四章 矩阵特征值与特征向量的计算

-4.1 幂法

--幂法

-4.2 反幂法

--反幂法

-第四章 习题

--第四章 习题

第五章 插值法

-5.1 多项式插值理论

--多项式插值理论

-5.2 Lagrange 插值多项式

--Lagrange 插值多项式

-5.3 Newton 插值多项式(1)差商型

--Newton 插值多项式(1)差商型

-5.4 Newton 插值多项式(2)差分型

--5.4 Newton 插值多项式(2)差分型

-5.5 分段线性插值

--分段线性插值

-5.6 Hermite 插值

--Hermite 插值

-第五章 习题

--第五章 习题

第六章 函数逼近

-6.1 数据拟合的最小二乘法(1)多项式拟合

--数据拟合的最小二乘法(1)多项式拟合

-6.2 数据拟合的最小二乘法(2)其他函数拟合

--数据拟合的最小二乘法(2)其他函数拟合

-6.3 正交多项式

--正交多项式

-6.4 函数的最佳平方逼近

--函数的最佳平方逼近

-第六章 习题

--第六章 习题

第七章 数值微分与数值积分

-7.1 数值微分

--数值微分

-7.2 Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

--Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

-7.3 Newton-Cotes求积公式(2)误差估计

--Newton-Cotes求积公式(2)误差估计

-7.4 复化求积公式

--复化求积公式

-7.5 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-第七章 习题

--第七章 习题

第八章 非线性方程的求解

-8.1 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-8.2 简单迭代法的加速、牛顿法与弦截法

--简单迭代法的加速、牛顿法与弦截法

-第八章 习题

--第八章 习题

第九章 常微分方程数值解法

-9.1 常微分方程数值解法概述

--常微分方程数值解法概述

-9.2 Euler方法及其改进方法

--Euler方法及其改进方法

-第九章 习题

--第九章 习题

简单迭代法的加速、牛顿法与弦截法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。