第三章 迭代法
第三章 迭代法s3 Newton迭代法
第三章 迭 代 法
第三节 Newton迭代法 Newton迭代法
Newton迭代法发散的例子 迭代法发散的例子
举例( 举例(一)
例: 设计一个二阶收敛算法计算 a (a > 0)。 。 解:转化为求 x2-a = 0 的正根
2 f ( xk ) xk − a 1 a = xk − = xk + Newton 迭代: xk +1 = xk − 迭代: f ′( xk ) 2 a xk + a − 2 xk a xk +1 − a = − a = = 2 xk 2 xk 2 xk 2 k
(
)
2
(x
xk +1 − a
k
− a
)
2
=
1 2 xk
1 2 a
二阶收敛
练习:设计一个局部收敛的迭代算法只用加、 练习:设计一个局部收敛的迭代算法只用加、减、乘法 计算倒数1/ 计算倒数1/a。
Newton迭代 迭代
基本思想: 将非线性方程线性化 基本思想: 将非线性方程
的近似根, 展开: 设 xk 是 f (x)=0 的近似根, 将 f (x) 在 xk Taylor 展开 f ′′(ξ ) ′( xk )( x − xk ) + f ( x) = f ( xk ) + f ( x − xk )2 , ξ 在 xk 和 x 之间 之间. 2! f ( xk ) ≈ f ( xk ) + f ′( xk )( x * − xk ) x* ≈ xk − 0 = f ( x*) f ′( xk ) y f ( xk ) xk +1 = xk − f ′( xk )
第三章、逐次逼近法
第三章 逐次逼近法1.1内容提要1、一元迭代法x n+1=φ(x n )收敛条件为:1)映内性x ∈[a,b],φ(x) ∈[a,b] 2)压缩性∣φ(x) -φ(y)∣≤L ∣x-y ∣其中L <1,此时φ为压缩算子,在不断的迭代中,就可以得到最终的不动点集。
由微分中值定理,如果∣φ’∣≤L <1,显然它一定满足压缩性条件。
2、多元迭代法x n+1=φ(x n )收敛条件为:1)映内性x n ∈Ω,φ(x n ) ∈Ω 2)压缩性ρ(▽φ)<1,其中▽φ为x n 处的梯度矩阵,此时φ为压缩算子,在不断的迭代中,就可以得到最终的不动点集。
3、当φ(x )= Bx+f 时,收敛条件为,ρ(B )<1,此时x n+1= Bx n +f ,在不断的迭代中,就可以得到线性方程组的解。
4、线性方程组的迭代解法,先作矩阵变换 U L D A --=Jacobi 迭代公式的矩阵形式 f Bx b D x U L D x n n n +=++=--+111)(Gauss-Seidel 迭代公式的矩阵形式 f Bx b L D Ux L D x n n n +=-+-=--+111)()(超松弛迭代法公式的矩阵形式f Bx b L D x U D L D x k k k +=-++--=--+ωωωωω111)(])1[()(三种迭代方法当1)(<B ρ时都收敛。
5、线性方程组的迭代解法,如果A 严格对角占优,则Jacob 法和Gauss-Seidel 法都收敛。
6、线性方程组的迭代解法,如果A 不可约对角占优,则Gauss-Seidel 法收敛。
7、Newton 迭代法,单根为二阶收敛 2211'''21lim)(2)(lim---∞→+∞→--=-==--k k k k k k k k x x x x f f c x x ξξαα8、Newton 法迭代时,遇到重根,迭代变成线性收敛,如果知道重数m , )()('1k k k k x f x f m x x -=+仍为二阶收敛 9、弦割法)()())((111--+---=k k k k k k k x f x f x x x f x x 的收敛阶为1.618,分半法的收敛速度为(b-a )/2n-110、Aitken 加速公式11211112)(),(),(+----+-+--+---+---===k k k k k k k k k k k x x x x x x x x x x x ϕϕ1.2 典型例题分析1、证明如果A 严格对角占优,则Jacob 法和Gauss-Seidel 法都收敛。
数值分析第三章线性方程组迭代法
数值分析第三章线性方程组迭代法线性方程组是数值分析中的重要问题之一,涉及求解线性方程组的迭代法也是该领域的研究重点之一、本文将对线性方程组迭代法进行深入探讨。
线性方程组的一般形式为AX=b,其中A是一个n×n的系数矩阵,x和b是n维向量。
许多实际问题,如电路分析、结构力学、物理模拟等,都可以归结为求解线性方程组的问题。
然而,当n很大时,直接求解线性方程组的方法计算量很大,效率低下。
因此,我们需要寻找一种更高效的方法来求解线性方程组。
线性方程组迭代法是一种基于迭代思想的求解线性方程组的方法。
其基本思想是通过构造一个序列{xn},使得序列中的每一项都逼近解向量x。
通过不断迭代,可以最终得到解向量x的一个近似解。
常用的线性方程组迭代法有雅可比迭代法、高斯-赛德尔迭代法和逐次超松弛迭代法等。
雅可比迭代法是其中的一种较为简单的迭代法。
其基本思想是通过分解系数矩阵A,将线性方程组AX=b转化为x=Tx+c的形式,其中T是一个与A有关的矩阵,c是一个常向量。
然后,通过不断迭代,生成序列xn,并使序列中的每一项都逼近解向量x。
高斯-赛德尔迭代法是雅可比迭代法的改进方法。
其核心思想是利用当前迭代步骤中已经求得的近似解向量的信息。
具体而言,每次迭代时,将前一次迭代得到的近似解向量中已经计算过的分量纳入计算,以加速收敛速度。
相比于雅可比迭代法,高斯-赛德尔迭代法的收敛速度更快。
逐次超松弛迭代法是高斯-赛德尔迭代法的改进方法。
其核心思想在于通过引入一个松弛因子ω,将高斯-赛德尔迭代法中的每次迭代变为x[k+1]=x[k]+ω(d[k+1]-x[k])的形式,其中d[k+1]是每次迭代计算得到的近似解向量的一个更新。
逐次超松弛迭代法可以根据问题的特点调整松弛因子的值,以获得更好的收敛性。
除了以上提到的三种迭代法,还有一些其他的线性方程组迭代法,如SOR迭代法、共轭梯度法等。
这些方法都具有不同的特点和适用范围,可以根据问题的具体情况选择合适的迭代法。
迭代法
第三章 线性代数方程组数值解法(迭代法)迭代法是解线性方程组的另一类方法,特别是适用于解大型稀疏线性方程组,如由某些偏微分方程数值解法中转化来的高阶线性代数方程组。
事实上,迭代法是求解多种数值问题的基本方法。
迭代法作为一种求解数值问题的通用方法,其基本思想是针对求解问题预先设计好某种迭代格式,从而产生求解问题的近似解的迭代序列,在迭代序列收敛于精确解的情况下,按精度要求取某个迭代值作为问题解的近似值,这就是求解数值问题的迭代法。
在这一章,我们的求解问题是线性方程组,下一章是非线性方程和非线性方程组,在不少其他问题中还会用到。
迭代法的内容包括下述两个主要方面: ① 针对具体问题构造具体的迭代格式。
② 研究迭代格式(序列)的收敛性并作误差分析。
3.1 解线性方程组迭代法的基本概念和基本迭代公式解线性代数方程组 b Ax = (3.1.1) (nn RA ⨯∈非奇异,0),,,(21≠=T n b b b b , Tn x x x x ),,,(21 =为解向量 )的迭代法的具体做法是: 把方程组(3.1.1)变形为等价形式)(x F x =我们这里只研究如上式的线性的形式 f Bx x +=(其中nn R B ⨯∈,nR f ∈ )例如把A分解为nn R M N M A ⨯∈-=,则( b M Nx Mx b x N M 11)(--+=→=- )如果令 N M B 1-=, b M f 1-= 这就是前面的迭代格式 f Bx x +=。
(对应的迭代公式是: ),,2,1,0()()1(n k f Bx xk k =+=+ 其中每一步迭代值仅依赖于前一步的迭代值。
称为单步迭代。
) 如果{)(k x }当 ∞→k 时有极限*x 存在, *)(lim x xk k =∞→则称迭代公式是收敛的;3.2 Jacobi 迭代法/Gauss —Seidel 迭代法这是解线性方程组的两种基本的方法。
1. Jacobi 迭代公式设方程组b Ax =中 nn ij Ra A ⨯∈=)(,ni R b b ∈=且 ),,2,1(0n i a ii =≠。
数值分析 迭代法 二分法和迭代法原理
lim | xk x* | 0
k
即 lim xk x *.
k
(b) | xk1 x*| L | xk x*|
| xk 1 xk | | ( xk 1 x*) ( xk x*) | xk x * xk 1 x * (1 L) xk x * 1 xk x * xk 1 xk 1 L 又 | xk1 xk | ( xk ) ( xk1 ) | '( ) | | xk xk1 | L | xk xk1 |
等价变换
x = (x) 称为迭代函数
(x) 的不动点x*
不动点迭代
具体做法:
从一个给定的初值 x0 出发,计算 x1 = (x0), x2 = (x1), … x 若 k k 0 收敛,即存在 x* 使得 lim x k x *,则由 的连续
k
xk 1 lim xk 可得 x* = (x*),即 x* 是 的不 性和 lim k k
根的估计
引理3.1(连续函数的介值定理) 设f(x)在 [a,b]上连续,且f(a) f(b)<0,则存在x*(a,b) 使f(x*)=0。 例3.1 证明x33x1 = 0 有且仅有3个实根,并 确定根的大致位置使误差不超过 =0.5。 解:
单调性分析和解的位置 选步长h=2, 扫描节点函数值 异号区间内有根
ek 1 xk 1 x* ( xk ) ( x*) '( )ek e 取极限得 lim k 1 '( x*) 0 线性收敛. k e k
数值分析--第三章--迭代法
数值分析--第三章--迭代法迭代⼀般⽅程:本⽂实例⽅程组:⼀.jacobi迭代法从第i个⽅程组解出xi。
线性⽅程组Ax=b,先给定⼀组x的初始值,如[0,0,0],第⼀次迭代,⽤x2=0,x3=0带⼊第⼀个式⼦得到x1的第⼀次迭代结果,⽤x1=0,x3=0,带⼊第⼆个式⼦得到x2的第⼀次迭代结果,⽤x1=0,x2=0带⼊第三个式⼦得到x3的第⼀次迭代结果。
得到第⼀次的x后,重复第⼀次的运算。
转化成⼀般的形式:(其中L是A的下三⾓部分,D是A的对⾓元素部分,U 是上三⾓部分)得到迭代公式:其中的矩阵B和向量f如何求得呢?其实,矩阵B的计算也很简单,就是每⾏的元素/该⾏上的对⾓元素⼆.Gauss-Seidel迭代法【收敛速度更快】这个可以和jacobi法对⽐进⾏理解,我们以第⼆次迭代为例(这⾥的第⼀次迭代结果都⽤⼀样的,懒得去换)从上表对⽐结果可以看出,Jacobi⽅法的第⼆次迭代的时候,都是从第⼀次迭代结果中,获取输⼊值。
上⼀次迭代结果[2.5,3.0,3.0],将这个结果带⼊上⾯式⼦1,得到x1=2.88,;将[2.5,3.0,3.0]替换成[2.88,3.0,3.0]带⼊第⼆个式⼦的运算,这⾥得到x2=1.95,所以把[2.88,3.0,3.0]替换成[2.88,1.95,3.0]输⼊第三个式⼦计算X3=1.0.这就完成了这⼀次的迭代,得到迭代结果[2.88,1.95,1.0],基于这个结果,开始下⼀次迭代。
特点:jacobi迭代法,需要存储,上⼀次的迭代结果,也要存储这⼀次的迭代结果,所以需要两组存储单元。
⽽Gauss-Seidel迭代法,每⼀次迭代得到的每⼀个式⼦得到的值,替换上⼀次迭代结果中的值即可。
所以只需要⼀组存储单元。
转化成⼀般式:注意:第⼆个式⼦中的是k+1次迭代的第⼀个式⼦的值,不是第k次迭代得值。
计算过程同jacobi迭代法的类似三.逐次超松弛法SOR法上⾯仅仅通过实例说明,Jacobi和Seidel迭代的运算过程。
第三章 解线性方程组的迭代法
(3 .4 )
, k 1, 2 , 3 ,
式(3.4)称为Gauss-Seidel迭代法,简称为G-S迭代法.
G-S迭代法也可记为
xi
( k 1)
1 a ii
( b i a ij x
j 1
i 1
( k 1)
j
a ij x
j i 1
n
(k )
j
)
, i 1, 2 , n , k 0 ,1, 2 ,
则有
A=D-L-U
于是线性方程组 Ax=b 可写成 (D-L-U)x=b 等价于 Dx=(L+U)x+b 或 x=D-1(L+U)x+D-1b
由此建立J迭代法迭代公式
x(k+1)=D-1(L+U)x(k)+D-1b 或写成
x(k+1)=Bx(k)+g 其中
1 B D (L U ) 0 a 21 a 22 a n1 a nn a 12 a 11 0 an2 a nn a1n a 11 a2n a 22 0
可见 ,J迭代法的迭代矩阵为
B 0 a 21 a 22 a n1 a nn
bn a nn )
T
a 12 a 11 0 a n2 a nn
a 1n a 11 a 2n a 22 0
若记
从而得迭代公式
a 13 ( k ) a 1n ( k ) a 12 ( k ) b1 ( k 1) x x2 x3 xn 1 a 11 a 11 a 11 a 11 a 23 ( k ) a 2n (k ) a 21 ( k ) b2 ( k 1) x1 x3 xn x 2 a 22 a 22 a 22 a 22 a n1 ( k ) a n2 (k ) a nn 1 ( k ) bn ( k 1) x1 x2 x n 1 x n a nn a nn a nn a nn
迭代法
二、收敛性分析
计算方法
(全局收敛定理)
设 ( x)在[a, b] (1)当a x b时,a ( x) b;
(2) x [a, b], |'( x) | L 1 (L为常数)
则 :(1)方 程x ( x)在[a, b]有 唯 一 根;
(2)x0 [a, b], xn1 ( xn) 收 敛 到
则对于任意的初始值 x0 S ,由迭代公式
xn1 ( xn )
产生的数列 xn 收敛于方程的根。
(这时称迭代法在 的S邻域具有局部收敛性。)
计算方法
例3 设 ( x) x a( x2 5),要使迭代过程 xk1 ( xk )
局部收敛到 x* 5,求 a 的取值范围。 解: ( x) x a( x2 5)
xk1 ( xk )
又 x* (x*)
根据中值定理有
x* xk1 ( x* ) ( xk ) ( )( x* xk ) ( x*, xk )
局部收敛性 当隔根区间确定时,通常只需要更简单的条件
就可以保证迭代过程在根的邻域(局部)收敛。
定理2.2 设 是方程 x ( x)的根,如果满足
条件 :
(1)迭代函数 ( x) 在 的邻域可导; (2)在 的某个邻域 S {x x },对于任
意 x S ,有
(x) L 1
计算方法
xn xn1
Ln 1-L
x1
x0
注:L越小,收敛越快。
计算方法
实际计算中当然不可能也没必要无穷多步地做
下去, 对预先给定的精度要求ε,只要某个n满足
x x
n
n1
即可结束计算并取
x n
当然,迭代函数 ( x ) 的构造方法是多种多样的。
迭代法
迭代方法(也称为“折返”方法)是一个过程,其中使用变量的旧值来递归新值。
与迭代方法相对应的是直接方法(或称为一次性解决方案),即,该问题可以立即解决。
迭代是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法(Iterative Method)。
一般可以做如下定义:对于给定的线性方程组x=Bx+f(这里的x、B、f同为矩阵,任意线性方程组都可以变换成此形式),用公式x(k+1)=Bx(k)+f(括号中为上标,代表迭代k次得到的x,初始时k=0)逐步带入求近似解的方法称为迭代法(或称一阶定常迭代法)。
如果k 趋向无穷大时limx(k)存在,记为x*,称此迭代法收敛。
显然x*就是此方程组的解,否则称为迭代法发散。
跟迭代法相对应的是直接法(或者称为一次解法),即一次性的快速解决问题,例如通过开方解决方程x +3= 4。
一般如果可能,直接解法总是优先考虑的。
但当遇到复杂问题时,特别是在未知量很多,方程为非线性时,我们无法找到直接解法(例如五次以及更高次的代数方程没有解析解,参见阿贝耳定理),这时候或许可以通过迭代法寻求方程(组)的近似解。
最常见的迭代法是牛顿法。
其他还包括最速下降法、共轭迭代法、变
尺度迭代法、最小二乘法、线性规划、非线性规划、单纯型法、惩罚函数法、斜率投影法、遗传算法、模拟退火等等。
第三章迭代法
后验估计
先验估计
算法设计中迭代结束条件: 近似使用|xk-xk-1|<
不动点原理
例3.3 x3x1
3 k 1
(1) xk x
1 , g ( x) x -1,
1 = 0 ,[1,2], x0=1.5, 103 2 3
n
Jacobi迭代G = -D-1(L+U) (直接证||G||<1) Gauss-Seidel迭代, G (L D)1U ~ 令 y Gx ,
先证存在某x, ||x|| =1, 使||Ĝ|| =||y|| 再证当||x|| =1, 有||y|| <1
Jacobi迭代(直接证||G||<1)
件是否可靠?
计算公式矩阵形式
和分解:
A=L(下三角)+D (对角) +U (上三角)
迭代
x(k)= Gx (k-1) + f, k=1,2,…
Jacobi迭代
G = -D-1(L+U) = I-D-1A f = D-1 b
Gauss-Seidel迭代
G = - (L+D)-1 U f = (L+D)-1 b
证明思路:(1)解的存在唯一性; (2)解的收敛 性;(3)误差估计式(习题)。
直接从Ax=b判断
aij ), 推论 若A按行严格对角占优( aii j 1, j i 则解Ax=b的Jacobi迭代和Gauss-Seidel迭代 均收敛。 证明思路:用定理3.4. A严格对角占优, 则 无穷大范数 ||G||<1
(0) (0) x3 1 ,精度要求 =10-3。 初值取 x1(0) x2 计算得 ||x(6) x(5)||10-3.
数值计算方法第三章 线性方程组迭代法
0,1,2,
取x1(0) 0, x2(0) 0,计算结果如下:
k0
x (k) 1
0
x (k) 2
0
1
2
3
4
0.66667 0.50000 0.61111 0.58333
0.50000 0.16667 0.25000 0.19445
5
6
7
8
9
0.60185 0.59722 0.60031 0.59954 0.6005
从而得迭代式 x(k1) (D L)1Ux (k) (D L)1 b, (k 0,1,2, )
上式中矩阵 M (D L)1U 为Gauss-Seidel迭代矩阵。
输入:A,b, n,
置初值: k 0; xi 0(i 1,L , n)
k k 1;e 0
3xx1 12xx22
2 1
精确到3位有效数字。
解 Gauss Siedel迭代格式为
x (k 1) 1
x (k 1) 2
(2 x2(k) ) / 3 (1 x1(k1) ) / 2
,
k
0,1,
2,L
取x1(0)
0,
x (0) 2
0, 计算结果如下:
0
101
0
1
10
2
1 0 0 101 1 1 5
0 0.1 0.2 0.1 0 0.2
0.2 0.2 0
取初值x (0) (0,0,0)T 代入迭代式
x(1) Bx (0) g (7.2,8.3,8.4)T x(2) Bx(1) g (9.17,10.70,11.50)T ,如此下去, x(9) Bx (1) g (10.9994 ,11.9994 ,12.9992 )T
数值分析3迭代法
不动点迭代产生序列的收敛速度
数列的 r 阶收敛概念 设 lim x n x * , 若存在 a>0 , r>0 使得
n
lim
| x n 1 x * | | x n x* |
r
n
a
则称数列{xn} r 阶收敛.
特别: (1) 收敛阶r=1时,称为线性收敛; (2) 收敛阶r>1时,称为超收敛; (3) 收敛阶r=2 时,称为平方收敛
序列的收敛阶数越高,收敛速度越快
10/16
例2.3 方程 x3+10x-20=0,取 x0 = 1.5, 证明迭代法
x n 1 20 /( x 10 )
2 n
是线性收敛
x + 1 0 x -2 0
3
证:令 f (x) = x3 + 10x –20, 绘出 y = f(x) 图形可知 方程的根 x*≈1.5, 令
( x)
10 /( x 4 )
x n 1 ( x n ) x 0 1 .5
( n = 0,1,2,……)
4/16
fi=inline('0.5*sqrt(10-x^3)'); x0=1.5;er=1;k=0; while er>0.00001 x=fi(x0); er=abs(x-x0); x0=x;k=k+1; end fi=inline('sqrt(10/(4+x))'); x0=1.5;er=1;k=0; while er>0.00001 x=fi(x0); er=abs(x-x0); x0=x;k=k+1; end
3/16
例2.2 方程 x3 + 4x2 – 10 = 0 在 [1, 2] 上有一
数值分析第三章线性方程组的迭代法课件
§ 3.3.2 Gauss—Seidel 迭代法的矩阵表示
将A分裂成A =D+L+U,则Ax b 等价于
(D+L+U )x = b
于是,则高斯—塞德尔迭代过程
Dx(k1) Lx(k1) Ux(k) b
因为 D 0 ,所以 D L D 0
故
(D L)x(k1) Ux(k) b
x(k1) (D L)1Ux(k) (D L)1b
e(k) x(k) x* Gx(k1) d (Gx* d) G(x(k1) x* ) Ge(k1)
于是 e(k) Ge(k1) G 2e(k2) Gk e(0)
由于 e (0)可以是任意向量,故 e(k) 收敛于0当且仅
故 (D L)x(k1) (1)D U x(k) b
显然对任何一个ω值,(D+ωL)非奇异, (因为假设 aii 0,i 1,2,, n )于是超松弛迭代公式为
x(k1) (D L)1 (1)D U x(k) (D L)1b
令 L (D L)1 (1)D U
f (D L)1b
则超松弛迭代 公式可写成
称为雅可比迭代公式, B称为雅可比迭代矩阵
雅可比迭代矩阵表示法,主要是用来讨论其收敛 性,实际计算中,要用雅可比迭代法公式的分量 形式。即
x1(k 1)
1 a11
(a12 x2(k )
a13 x3(k )
a1n xn(k )
b1 )
x2(k 1)
1 a 22
(a21 x1(k )
a23 x3(k )
§ 3.4.2超松弛迭代法的矩阵表示 设线性方程组 Ax=b 的系数矩阵A非奇异,且主对角
元素 aii 0(i 1,2,, n) , 则将A分裂成
迭代法的收敛定理
一、基本收敛定理
The Fundamental convergence theorem
Theorem :for any initial value x (0) R n, the fundamental iterative method defined
by x(k+1)=Bx(k)+f (k=0,1,2,…) converges to the unique solution of x=Bx+f if only if
1.25 x1 3.69 x2 12.37 x3 0.58 10.01x1 9.05 x2 0.12 x3 1.43 1.22 x 4.33x 2.67 x 3.22 1 2 3
无法直接判断Jacobi 迭代法和G-S迭代法的收敛性,但如果 将方程组的次序修改为
对角占优矩阵
diagonally dominant matrix
如果线性方程组AX=b的系数矩阵A具有某种特殊性质 (如对称正定、对角占优等),则可从A本身直接得出某些 迭代法收敛性结论。 定义3.1 如果矩阵A满足条件
aii aij
j i
(i 1,2,
, n)
(2)
则称A是严格对角占优阵(strictly diagonally dominant matrix); 如果矩阵A满足条件 aii aij (i 1,2, , n) (3)
在偏微分方程数值解中,有限差分往往导出对角占优的 线性代数方程组,有限元法中的刚性矩阵往往是对称正定阵, 因此这两个判断定理是很实用的。 对于给定的线性方程组,借助于定理3.3和定理3.4可 以直接判断Jacobi 迭代法和G-S迭代法的收敛性。 但同时应当注意,迭代法收敛与否与方程组中方程排列 顺序有关,如线性方程组
第3节 简单迭代法
求
y x
分别就下列四种情况说明几何意义: 从点 p0 ( x0 , g( x0 )) 出发,作平行于x轴 的直线交y=x于点 ( g( x0 ), g( x0 )), 过该点 说明两点: { xk } 中 xk 的产生。 作平行于y 轴的直线交y =g(x)于点 (1) { xk } 何时收敛,何时发散。 p1 ( g( x0 ), g( g( x0 ))), 即 p1 ( x1 , g( x1 )). (2)
* x 0 x0 x1 x2 x g ( x ) 1 y=g(x)
g( x ) 1
*
* 0 x0 x2 x x1 p
0
x
p0 p1 x1 x0 x*
迭代法不收敛
x x0 x*
p1
y=g(x)
x
x1
定理 考虑方程 x = g(x), g(x)C[a, b], 若
( I ) 当 x[a, b] 时, g(x)[a, b]; ( II ) 0 L < 1 使得 | g’(x) | L < 1 对 x[a, b] 成立。 则任取 x0[a, b],由 xk+1 = g(xk) 得到的序列 x k 0 收 k 敛于g(x) 在[a, b]上的唯一不动点。并且有误差估计式:
| xk 1 xk | | x * xk ( x * xk 1 ) | | x * xk | | x * xk 1 | | x * xk | L | x * xk | 可用 | xk 1 xk | 来 Lk 控制收敛精度 | x1 x0 | ? ⑤ | x * xk |
③ 当k 时, xk 收敛到 x* ?
| x * xk | | g( x*) g( xk 1 ) | | g(ξ k 1 ) | | x * xk 1 |
第三章 非线性方程的迭代法
第三章 非线性方程许多科学理论与工程实际问题最终都转化为非线性方程或非线性方程组的求解。
除了少数简单的方程可以求出解析表达外,一般的方程不能得到解析表达,所以需要用近似的方法来求近似解。
解非线性方程常用到的方法是迭代法,本章将主要对迭代法进行讨论,一些特殊方法不在这里讨论。
§1 二分法设非线性方程为()0=x f (1.1)若()x f 在区间[]b a ,上连续,且()()0<b f a f ,由连续函数介值定理知道()0=x f 在()b a ,至少存在一个实根。
如果()x f 单调则只有唯一的实根。
二分法的原理就是将含根的区间每次缩小一倍,直到找到满足误差要求的近似解。
为简便起见,我们设()0)(,0><b f a f ,给定δ为很小的正数。
那么二分法的计算步骤如下: 1) 将区间[]b a ,分半,取中点2b a +,求⎟⎠⎞⎜⎝⎛+2b a f ,如δ<⎟⎠⎞⎜⎝⎛+2b a f ,则2b a +就是方程的解。
计算停止。
否则,将根据⎟⎠⎞⎜⎝⎛+2b a f 的符号确定新的区间:当02<⎟⎠⎞⎜⎝⎛+b a f 时,取21b a a +=,b b =1; 当02>⎟⎠⎞⎜⎝⎛+b a f 时,取a a =1,21b a b +=; 2) 用新区间[]11,b a 代替[]b a ,,重复上面的运算。
直到得到方程的解。
记第n 个有根区间为()n n b a ,,则 ()()()n n b a b a b a ,,,2211L ⊃⊃ ()()a b a b a b n n n n −==−=−−−212111L()()0n n f a f b ⋅<,()021→−=−a b a b nn n )(∞→n 当n 充分大时,就取2nn n b a x +=为方程精确根∗x 的近似值。
此时误差为 12+∗−≤−n n ab x x 二分法的优点是直观简单,可靠,对函数性质要求低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法简单 收敛有保证 只要f(x)连续 只要 连续
缺点
对区间两端点选取条件苛刻 收敛速度慢
§3.2 迭代法原理
迭代法的思想 不动点原理 局部收敛性 收敛性的阶
迭代法的思想
条件: 条件 f(x)=0 在x0附近有且仅有一个根 设计同解变形 x=g(x) 迭代式 xk=g(xk-1), k=1,2,… 如果收敛 xk →x*, 则x*是f(x)=0 的根 是
2 Jacobi迭代和Gauss-Seidel迭代 Jacobi迭代和 迭代和Gauss-Seidel迭代
例3.7
10 x1 − x2 − 2 x3 = 7.2 − x1 + 10 x2 − 2 x3 = 8.3 − x − x + 5 x = 4.2 3 1 2
解:变形
x1 = 0.72 + 0.1x2 + 0.2 x3 x2 = 0.83 + 0.1x1 + 0.2 x3 x = 0.84 + 0.2 x + 0.2 x 1 Newton迭代法优势越明显 迭代法优势越明显
“迭代-加速”技术 迭代-加速”
加快迭代过程的收敛速度 将发散的迭代格式加工成收敛的 附近大约为D, 若g’(x)在x*附近大约为 改进 k = g(xk-1) 为 在 附近大约为 改进x
1 xk = [ g ( xk −1 ) − Dxk −1 ] 1− D
g ′( x ) =
∗
f ( x ∗ ) f ′′( x ∗ )
m重根:线性收敛 重
g ′( x ∗ ) = lim
x → x*
[ f ′( x )]
∗
2
=0
f ( x) f ′′( x) 1 = 1 − (习题6) m [ f ′( x)]2
例3.5 (P56)
Newton迭代法,计算3次达到 位有效数字 迭代法,计算 次达到 次达到4位有效数字 迭代法 计算4次达到 次达到4位有效数字 计算 次达到 位有效数字 xk = 3 xk −1 + 1
L Lk x1 − x0 x − xk ≤ x k − x k −1 ≤ 1− L 1− L
*
后验估计
先验估计
算法设计中迭代结束条件: 近似使用|x 算法设计中迭代结束条件 近似使用 k-xk-1|<ε ε
不动点原理
证明步骤
解的存在性; 解的存在性 解的唯一性; 解的唯一性 解的收敛性; 解的收敛性 误差估计式。 误差估计式。
初值取 x1(0) = x2(0) = x3(0) = 1 ,精度要求ε =10-3。 计算得 ||x(6)− x(5)||∞≤10-3.
Gauss-Seidel迭代 Gauss-Seidel迭代
Gauss-Seidel迭代 迭代
( ( x1( k ) = 0.72 + 0.1x2k −1) + 0.2 x3k −1) (k ) (k ) ( k −1) x2 = 0.83 + 0.1x1 + 0.2 x3 x ( k ) = 0.84 + 0.2 x ( k ) + 0.2 x ( k ) 1 2 3
第三章迭代法
§3.1 二分法 §3.2 迭代法原理 §3.3 Newton迭代法和迭代加速 迭代法和迭代加速 §3.4 解线性方程组的迭代法
§3.1 二分法
根的估计 二分法
根的估计
引理3.1(连续函数的介值定理) 引理 (连续函数的介值定理) 设f(x)在 在 [a,b]上连续,且f(a)f(b)<0,则存在 ∈(a,b) 上连续, 上连续 ,则存在x*∈ 使f(x*)=0。 。 证明x 有且仅有3个实根 个实根, 例3.1 证明 3−3x−1 = 0 有且仅有 个实根,并 − 确定根的大致位置使误差不超过ε 确定根的大致位置使误差不超过ε =0.5。 。 解:
初值取 ,精度要求ε =10-3。 计算得 ||x(5)− x(4)||∞≤10-3.
(0) (0) x1(0) = x2 = x3 = 1
编程计算公式
Jacobi迭代 迭代
xi( k )
n 1 = [bi − ∑ aij x (jk −1) ], i = 1,L , n aii j =1, j ≠ i
例3.3
3 (1) xk = xk −1 − 1
不收敛 收敛
(2) xk = 3 xk −1 + 1
g : [1,2] → [1,2]
1 g ′( x) ≤ = L < 1 3
局部收敛性(格式收敛) 局部收敛性(格式收敛)
g ′( x∗ ) < 1 定理3.2 局部收敛性) 连续, 定理 (局部收敛性)设g’(x)连续, 连续
条件是否可靠? 条件是否可靠?
计算公式矩阵形式
和分解: 和分解:
A=L(下三角 下三角)+D (对角 +U (上三角 对角) 上三角) 下三角 对角 上三角
迭代
x(k)= Gx (k-1) + f, k=1,2,…
Jacobi迭代 迭代
G = -D-1(L+U) = I-D-1A f = D-1 b
Gauss-Seidel迭代 迭代
G = - (L+D)-1 U f = (L+D)-1 b
3 迭代的收敛性
定理3.4 设G的某种范数 的某种范数||G||<1,则x=Gx+f存 定理 的某种范数 , 存 在唯一解,且对任意初值, 在唯一解,且对任意初值,迭代序列 x(k)= Gx (k-1) + f 收敛于x*, 收敛于 ,进一步有误差估计式
不动点原理(迭代过程收敛) 不动点原理(迭代过程收敛)
定理3.1 (不动点原理 设映射 不动点原理) 定理 不动点原理 设映射g(x)在[a,b]上有连续的 在 上有连续的 一阶导数且满足 1o 封闭性:∀x ∈ [a,b], g(x) ∈ [a,b] , 封闭性: 2o 压缩性: ∃L ∈(0,1)使对∀x ∈ [a,b], |g'(x)|≤L, 压缩性: 使对∀ 使对 ≤ 则在[a,b]上存在唯一的不动点 , 且对 ∀ x0 ∈ [a,b], 上存在唯一的不动点x*, 且对∀ 则在 上存在唯一的不动点 xk=g(xk-1)收敛于 。进一步,有误差估计式 收敛于x* 进一步, 收敛于
则存在充分靠近x*的初值,使迭代收敛于 。 则存在充分靠近 的初值,使迭代收敛于x*。 的初值 ′( x∗ ) + 1) / 2 < 1 证明:利用定理3.1, 3.1,取 = 证明:利用定理3.1,取L= ( g
应用中: 近似使用|g'(x0)|<1判断 应用中 近似使用 判断
具有局部收敛性的迭代计算上不一定收敛, 具有局部收敛性的迭代计算上不一定收敛, 它是否收敛还要看初值是否取的恰当; 它是否收敛还要看初值是否取的恰当; 而不具有局部收敛性的迭代对任何初值都不 可能收敛。 可能收敛。
收敛性的阶(局部收敛速度) 收敛性的阶(局部收敛速度)
定义3.1 当xk→x*,记ek= x* - xk ,若存在 定义 , 实数p, 实数 ,使 ek+1/epk → c≠0, ≠ , 则称{x 有 阶收敛速度。 则称 k}有p阶收敛速度。
线性收敛 p=1 平方收敛 p=2
•定理 设xk=g(xk-1) → x*,则 定理3.3 定理 , (1) 当g'(x*)≠0时,{xk}线性收敛; 线性收敛; ≠ 时 线性收敛 (2) 当g'(x*)=0,而g''(x*) ≠0时,{xk}平方收敛。 平方收敛。 而 时 平方收敛
3.3 Newton迭代法和迭代加速 Newton迭代法和迭代加速
牛顿(Newton)迭代法 迭代法 牛顿 “迭代-加速”技术 迭代-加速”
牛顿(Newton)迭代法 牛顿(Newton)迭代法
原理(1次近似 直线代替曲线) 原理 次近似, 直线代替曲线 次近似
f ( x∗ ) ≈ f ( xk −1 ) + f ′( xk −1 )( x∗ − xk −1 )
Gauss-Seidel迭代 迭代
xi( k )
i −1 n 1 = [bi − ∑ aij x (jk ) − ∑ aij x (jk −1) ], i = 1,L , n aii j =1 j = i +1
迭代结束条件一般用 ||x(k)− x(k-1)||≤ε ≤ε (1)收敛性条件 收敛性条件? 问题(1)收敛性条件? (2) ||x(k)− x(k-1)||≤ε 作为结束 ≤ε
例3.6 (P57)
§4 解线性方程组的迭代法
1 迭代思想 2 Jacobi迭代和 迭代和Gauss-Seidel迭代 迭代和 迭代 3 迭代的收敛性 4 迭代加速 迭代加速——逐次超松弛(SOR)法 逐次超松弛( 逐次超松弛 )
1 迭代思想
解大型稀疏型方程组比直接法存储量小 条件: 条件 Ax=b 解存在唯一 设计同解变形 x=Gx+f 迭代式 x(k)=Gx (k-1)+f, k=1,2,… 取初值x 取初值 (0) ,如果收敛 x(k) →x*, 则x*是Ax=b 是 的解 k →∞ x(k) →x* ⇔ x∗ − x ( k ) 0 →
单调性分析和解的位置 选步长h=2ε, 扫描节点函数值 选步长 ε 异号区间内有根
f(x)= x3−3x−1