第2章迭代法解析
第2章解线性代数方程组的迭代法
第二章解线性代数方程组的迭代法2. 1 引言在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组,如果它乂不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性代数方程组。
迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较少,能解高阶线性代数方程组。
山于迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代法时要注意的问题。
那么,是否可以构造一种适用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。
因此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。
本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中儿种方法的收敛法。
2. 2 基本迭代法考虑线性方程组如坷+如勺+…+气兀”二勺a2t x i+a22x2 + - + a2…x n =b2■•••••••••••(2. 1)采用矩阵和向量记号,我们可以把(2.1)式写成Ax = h(2.2)其中,为非奇异矩阵,设下面我们介绍雅可比(Jacobi)迭代,高斯-塞德尔(Gauss-Seidel)迭代与S0R迭代以及SS0R迭代的基本思想和算法。
为了方便地给出矩阵表示式,我们引进下列矩阵分裂:4SD-U,(2.3)其中-a2\-a n\(1)雅可比迭代的基本思想从式(2.1)的第i个方程中解出X t=(/ = 1,2,•••,«)我们把迭代前面的值代入上式右边,山计算得到等式左边的值作为一次迭代的新值,然后再把这个新值代入右边,再从左边得到一个新值,如此反复,就得到了雅可比迭代公式。
迭代法f1,f2=f2,f1+f2讲解
迭代法f1,f2=f2,f1+f2讲解【原创实用版】目录1.迭代法的基本概念2.迭代法 f1,f2=f2,f1+f2 的含义3.迭代法 f1,f2=f2,f1+f2 的实际应用4.迭代法 f1,f2=f2,f1+f2 的优点与局限性正文迭代法是一种求解方程或优化问题的数学方法,它通过不断接近真实的解,逐步改善近似解。
在迭代过程中,先取一个近似解,然后根据这个近似解计算出一个新的近似解,如此循环往复,直到满足某种停止条件。
迭代法在许多领域都有广泛的应用,如数值计算、物理学、经济学等。
迭代法 f1,f2=f2,f1+f2 是一种特殊的迭代法,它的含义是:用 f1 和 f2 表示某个变量,然后通过 f2,f1+f2 的迭代关系来不断更新 f1 和 f2 的值,从而逐步接近真实的解。
这种迭代法在数学和物理学中经常出现,特别是在求解常微分方程的数值解时,可以使用迭代法 f1,f2=f2,f1+f2 来提高计算精度。
迭代法 f1,f2=f2,f1+f2 的实际应用举例如下:假设我们要求解如下常微分方程:dx/dt = x + 2ydy/dt = -x + y我们可以使用迭代法 f1,f2=f2,f1+f2 来求解这个方程。
首先,我们取 f1=x,f2=y 作为初始近似解,然后根据迭代关系 f2,f1+f2 来更新 f1 和 f2 的值,如此循环往复,直到满足某种停止条件,例如计算到足够多的时间步或者达到预设的误差范围。
迭代法 f1,f2=f2,f1+f2 的优点在于其简单易行,适用于许多实际问题。
然而,它也存在一些局限性,例如在处理某些非线性问题时,迭代过程可能收敛到错误的解,或者收敛速度较慢,需要较长的计算时间。
因此,在实际应用中,我们需要根据问题的具体情况选择合适的迭代法,并结合其他优化技巧,以提高计算效率和精度。
总之,迭代法 f1,f2=f2,f1+f2 是一种实用的数学方法,它有助于我们解决许多实际问题。
第二章 迭代法的一般原理
第二章 迭代法的一般原理非线性方程组无论从理论上还是计算方法上,都比线性方程组复杂得多。
一般的非线性方程组很难求出解析解,往往只能求出其数值解,且往往只能借助于迭代法。
本章我们将讨论迭代法的一般原理、迭代法的一般构造及迭代收敛速度的衡量标准。
2-1 迭代法与不动点定理设n n R R D →⊂:f ,考虑方程()0=x f (2-1)若存在D *∈x ,使()0=*x f ,则称*x 为方程(2-1) 的解。
用迭代法求解(2-1) ,先将(2-1)化为等价的方程()x g x = (2-2)这里映象n n R R D →⊂:g 。
方程(2-2)的解*x (即()**x g x =)称为映象g 的不动点。
因此用迭代法解方程(2-1),就是求(2-2)中映象g 的不动点。
这样以及g 是否存在不动点自然就是我们关心的问题。
定理2-1 若n n R R D →⊂:g 为有界闭集D D ⊂0上的严格非膨胀映象,()00D D ⊂g ,则g 在0D 内有唯一不动点。
证 唯一性 设g 在0D 内至少有两个不动点1x ,2x ,则()()2121x x x g x g x x 21-≤-=-α 因1<α,所以由上式推得21x x =。
唯一性得证。
记()()x g x x -=ϕ,由g 及泛数的连续性可知1:R R D n →⊂ϕ连续。
因0D 为有界闭集,故ϕ在0D 上有最小值。
设0D *∈x 为最小点,即()()x g x x -=∈min 0D x *ϕ则*x 为g 的不动点。
因为若不然,则有()**x g x ≠,再由g 严格非膨胀,可得()()()()()***x g g x g x g -=ϕ()()***x x g x ϕ=-<这与*x 为ϕ的最小点相矛盾,故*x 为g 的不动点。
注 定理中0D 的有界闭性、g 的压缩性和g 映0D 入自身,此3个条件缺一不可。
例如,()xx x g 1+=在[)+∞=,D 10上严格非膨胀,但它在0D 中却没有不动点。
2.2 迭代法
x k +1 = 3 x k + 1
计算结果如下: 计算结果如下:
k=0,1,2,3…….
计算方法
k 0 1 2 3 4
xk
1.5 1.35721 1.33086 1.32588 1.32494
k 5 6 7 8
xk
1.32476 1.32473 1.32Байду номын сангаас72 1.32472
精确到小数点后五位
x = 1.32472
′( x* ) = ϕ ′′( x* ) = L = ϕ ( p−1) ( x* ) = 0, ϕ ( p ) ( x* ) ≠ 0 ϕ 邻域是p阶收敛的。 则迭代过程在 x * 邻域是p阶收敛的。
证: 由于 ϕ ′( x * ) = 0 * ′( x* ) < 1 , 即在 x 邻域 ϕ ϕ ( xk ) 在 x * 处 有局部收敛性, 所以 xk+1 = ϕ( xk ) 有局部收敛性, 将 泰勒展开
计算方法
一、迭代法的基本思想: 迭代法的基本思想: 为求解非线性方程f(x)=0的根,先将其写成便于 的根, 为求解非线性方程 的根 迭代的等价方程
x = ϕ ( x)
的连续函数。 其中ϕ ( x ) 为x的连续函数。 的连续函数
(2.3)
计算方法
即如果数 α 使 f(x)=0, 则也有 α = ϕ (α ) , 反之, 反之, 若α = ϕ (α ) ,则也有 f (α ) = 0 的右端, 任取一个初值 x ,代入式 x = ϕ ( x ) 的右端, 得到 0
ϕ ′( x ) ≤ L < 1
计算方法
则对于任意的初始值 x0 ∈ S ,由迭代公式 收敛于方程的根。 产生的数列 { xn } 收敛于方程的根。 (这时称迭代法在 α 的S邻域具有局部收敛性。) 邻域具有局部收敛性。)
高等工程数学第二章习题及答案
第2章 线性代数方程组数值解法 研究n 阶线性方程组Ax b =的数值解法.()ij A a =是n n⨯矩阵且非奇异,12(,,,)Tn x x x x = ,12(,,,)Tn b b b b =两类数值方法:(1) 直接法:通过有限次的算术运算,若计算过程中没有舍入误差,可以求出精确解的方法.Ax b Gx d == 等价变换G 通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵的乘积.(2) 迭代法:用某种极限过程去逐次逼近方程组的解的方法.(1)()i i Ax b x Bx k x Bx k +==+−−−−−→=+ 等价变换建立迭代格式,0,1,i =一、向量范数与矩阵范数 1. 向量范数【定义】 若对nK 上任一向量x ,对应一个非负实数x ,对任意,nx y R ∈及K α∈,满足如下条件(向量范数三公理) (1) 非负性:0x ≥,且0x =的充要条件是0x =;(2)齐次性:x xαα=;(3)三角不等式:x y x y+≤+.则称x为向量x的范数.常用的向量范数: (1) 1—范数11nii x x ==∑(2) 2—范数12221()ni i x x ==∑(3) ∞—范数1max ii nxx ∞≤≤=(4) 一般的p —范数11()pnpi pi xx ==∑2. 矩阵范数【定义】 若n nK ⨯上任一矩阵()ij n n A a ⨯=,对应一个非负实数A ,对任意的,n nA B K ⨯∈和K α∈,满足如下条件(矩阵范数公理):(1) 非负性:0A ≥,且0A =的充要条件是0A =;(2)齐次性:A Aαα=;(3)三角不等式:A B A B +≤+;(4)乘法不等式:AB A B≤.则称A为矩阵A的范数.矩阵范数与向量范数是相容的:Ax A x≤向量范数产生的从属范数或算子范数:10max maxx x AxA Ax x=≠==常见从属范数:(1) 1—范数111max ||nij j ni A a ≤≤==∑(2) ∞—范数11max ||nij i nj A a ∞≤≤==∑(3) 2—范数2A =谱半径1()max ||H i i n A A ρλ≤≤=,iλ为H A A 的特征值.H A 为A 的共轭转置. 注:矩阵A 的谱半径不超过A 的任一范数,即()A A ρ≤范数等价性定理:,s t x x为n R 上向量的任意两种范数,则存在常数12,0c c >,使得12,ns t s c x x c x x R ≤≤ ∀∈.注:矩阵范数有同样的结论. 【定理2.1】是任一向量范数,向量序列()k x 收敛于向量*x 的充要条件是()*0,k x x k -→ →∞二、 Gauss 消去法 1.顺序Gauss 消去法 将方程Ax b =写成如下形式11112211,121122222,11122,1n n n n n n n n nn n n n a x a x a x a a x a x a x a a x a x a x a ++++++=⎧⎪+++=⎪⎨⎪⎪+++=⎩其中记,1,1,2,,.i n i a b i n +==消元过程:第一次消元:设110a ≠,由第2,3,,n 个方程减去第一个方程乘以1111/(2,3,,)i i m a a i n == ,则将方程组中第一个未知数1x消去,得到同解方程11112211,1(1)(1)(1)22222,1(1)(1)(1)22,1n n n n n n n nn n n n a x a x a x a a x a x a a x a x a ++++++=⎧⎪ ++=⎪⎨⎪⎪ ++=⎩其中, (1)11,2,3,,;2,3,,,1ijij i j a a m a i n j n n =-==+ . 1111/i i m a a =,2,3,,i n = .第二次消元:设(1)220a ≠,.由第2,3,,n 个方程减去方程组中的第2个方程乘以(1)(1)2222/(3,4,,)i i m a a i n == ,则将方程组第2个未知数2x 消去,得到同解方程11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(2)(2)(2)33,1n n n n n n n n n nnn n n n a x a x a x a x a a x a a x a a x a x a a x a x a ++++++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ ++=⎩其中(2)(1)(1)22, 3,4,,; 3,4,,,1ij ij i j a a m a i n j n n =-==+ . (1)(1)2222/i i m a a =,3,4,,i n = .经过1n -次消元后,原方程组变成等价方程组11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(1)(1),1n n n n n n n n n n n nn n n n a x a x a x a x a a x a a x a a x a x a a x a +++--+++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ =⎩其中()(1)(1), 1,2,,k k k ij ij ik ij a a m a i k k n --=-=++ , 1,2,,,1j k k n n =+++ .(1)(1)/k k ik ik kkm a a --=,1,2,,i k k n =++ ;1,2,,1k n =- .回代过程:(1)(1),1(1)(1)(1),1,,1/[]/,1,2,,2,1.n n n n n m n i i i ii n i j j i j j i x a a x a a x a i n n --+---+=+⎧=⎪⎨=-=--⎪⎩∑计算量:按常规把乘除法的计算次数合在一起作为Gauss 消去法总的计算量,而略去加减法的计算次数. 在消去过程中,对固定的消去次数(1,2,,1)k k n =- ,有:除法(1)(1),,/,1,1,,k k ik i k k k m a a i k k n --= =++ 共计n k -次;乘法(1),,1,2,,;1,2,,,1k ik k j m a i k k n j k k n n - =++ =+++ 共计()(1)n k n k --+次.因此,消去过程总的计算量为1311[()(1)]3n k M n k n k n k n-==--++-≈∑ 回代过程的乘除法计算次数为21()2n n +.与消去法计算量相比可以略去不计.所以, Gauss 消去法总的计算量大约为313n .2. Gauss-Jordan 消去法Gauss-Jordan 消去法是Gauss 消去法的一种变形.此方法的第一次消元过程同Gauss 消去法一样,得到(1)(1)(1)(1)11112213311,1(1)(1)(1)(1)22223322,1(1)(1)(1)(1)32233333,1(1)(1)(1)(1)2233,1,,,,n n n n n n n n n nn nn n n n a x a x a x a x a a x a x a x a a x a x a x a a x a x a x a ++++⎧++++=⎪ +++=⎪ +++=⎨ +++= ⎪⎪⎪⎪⎩其中,(1)11,2,,,1jj a a j n n ==+ . 第二次消元:设(1)220a ≠,由第1,3,4,,n 个方程减去第2个方程乘以(1)(1)2222/(1,3,4,,)i i m a a i n == ,则得到同解方程组(2)(2)(2)11113311,1(1)(2)(2)(2)22223322,1(2)(2)(2)33333,1(2)(2)33,1,,,n n n n n n n n n nnn n n n a x a x a x a a x a x a x a a x a x a a x a x a +++++ +++= +++= ++= ++= (2),⎧⎪⎪⎪⎨⎪⎪⎪⎩继续类似的过程,在第k 次消元时,设(1)k kk a -,将第i 个方程减去第k 个方程乘以(1)(1)/k k ik ik kk m a a --=,这里1,3,4,1,1,,i k k n =-+ .经过1n -次消元,得到(2)1111,1(1)(2)2222,1(2)(2)33,1,,,n n n n n a x a a x a a x a +++⎧ =⎪ =⎪⎪ ⎨⎪⎪⎪ =⎩其中()(1)(1),1,2,,1,1,,k k k ij ij ik kj a a m a i k k n --=-=-+ ;1,2,,,1; 1,2,,1j n n k n =+=- .此时,求解回代过程为(1)(1),1/,1,2,,n i i i n iix a a i n --+= = 经统计,总的计算量约为312M n ≈次乘除法. 从表面上看Gauss-Jordan 消去法似乎比Gauss 消去法好,但从计算量上看Gauss -Jordan 消去法明显比Gauss消去法的计算量要大,这说明用Gauss-Jordan 消去法解线性方程组并不可取.但用此方法求矩阵的逆却很方便. 3.列选主元Gauss 消去法在介绍Gauss 消去法时,始终假设(1)0k kk a -≠,称(1)k kka -为主元.若(1)0k kka -=,显然消去过程无法进行.实际上,既使(1)0k kka -≠,但(1)k kka -很小时,用它作除数对实际计算结果也是很不利的.称这样的(1)k kka -为小主元.【例2.2】设计算机可保证10位有效数字,用消元法解方程1112120.3100.7,0.9,x x x x -⎧⨯+=⎪⎨ +=⎪⎩【解】经过第一次消元:第2个方程减去第1个方程乘以212111/m a a =得1112(1)(1)222230.3100.7x x a x a -⎧⨯+=⎪⎨ =⎪⎩其中(1)1222222111/0.333333333310a a a a =-=-⨯,(1)123323211113(/)0.233333333310a a a a a =-⋅=-⨯于是解得(1)(1)223221/0.7000000000,0.0000000000,x a a x ⎧==⎪⎨=⎪⎩而真解为120.2,0.7x x = =注:造成结果失真的主要因素是主元素11a太小,而且在消元过程中作了分母,为避免这个情况发生,应在消元之前,作行交换.【定义】 若 (1)(1)||max ||k k k r k ik k i na a --≤≤=,则称(1)||k k r k a - 为列主元素. k r 行为主元素行,这时可将第 k r行与第k 行进行交换,使(1)||k k r k a - 位于交换后的等价方程组的 (1)k kk a - 位置,然后再施实消去法,这种方法称为列选主元Gauss 消去法或部分主元Gauss 消去法.【例2.3】 应用列选主元Gauss 消去法解上述方程. 【解】 因为2111a a >,所以先交换第1行与第2行,得1211120.9,0.3100.7,x x x x -⎧+=⎪⎨⨯+=⎪⎩ 然后再应用Gauss 消去法,得到消元后的方程组为1220.9,0.7.x x x ⎧+=⎨=⎩回代求解,可以得到正确的结果.即120.2,0.7x x = =.三、三角分解法 设方程组Ax b =的系数矩阵A 的顺序主子式不为零.即1112121222110,1,2,,.kk k k k kka a a a a a k n a a a ∆=≠=在Gauss 消去法中,第一次消元时,相当于用单位下三角阵211131111010010n m L m m -⎡⎤⎢⎥- ⎢⎥⎢⎥=- ⎢⎥ ⎢⎥⎢⎥- ⎢⎥⎣⎦ ,左乘方程组Ax b =,得11A x b =,其中11121(1)(1)122211(1)200n n n nn a a a a a A L a a -(1)⎡⎤⎢⎥ ⎢⎥==⎢⎥ ⎢⎥⎢⎥ ⎣⎦ ,1(1)(1)111,11,1,1(,,,)Tn n n n b L b a a a -+++== .第二次消元时,相当于用单位下三角阵1232210101001n L m m - ⎡⎤⎢⎥ ⎢⎥⎢⎥= - ⎢⎥⎢⎥⎢⎥ - ⎢⎥⎣⎦0 ,左乘方程组11A x b =,得22A x b =其中11121(1)(1)22211(2)(2)221333(2)(2)300000n n n n nn a a a a a A L L A a a a a --⎡⎤ ⎢⎥ ⎢⎥⎢⎥== ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦ ,11(1)(2)(2)2211,12,13,1,1(,,,,).Tn n n n n b L L b a a a a --++++==经过1n -次消元,最后得到等价方程组11n n A x b --=其中11121(1)222111111221(1)n n n n n n nn a a a a a A L L L L A a (1)--------⎡⎤⎢⎥ ⎢⎥==⎢⎥⎢⎥⎢⎥ ⎣⎦1111(1)(1)112221,12,1,1(,,,)n Tn n n n n n n b L L L L b a a a --------+++==注意到1n A -是一个上三角阵,记111111221n n n U A L L L L A -------==则121()n A L L L U LU -==其中,121n L L L L -= . 不难验证21313212_1111n n nn m L m m m m m ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 1 ⎢⎥⎣⎦是单位下三角阵.于是解线性方程组Ax b =,就转化为解方程 LUx b =,若令Ux y =就得到一个与 Ax b =等价的方程组Ly b Ux y =⎧⎨=⎩【定理2.2】 若 A 为 n 阶方阵,且 A 的所有顺序主子式0k ∆≠,1,2,,k n = .则存在唯一的一个单位下三角矩阵 L 和一个上三角矩阵 U ,使A LU =.在上述过程中,若不假设A 的顺序主子式都不为零,只假设A 非奇异,那么Gauss 消去法将不可避免要应用两行对换的初等变换.第一次消元,将第1行与第1r 行交换,相当于将方程组Ax b =左乘矩阵11r P :1111r r P Ax P b=经第一次消元得11111111r r L P Ax L P b--=即系数矩阵为11111r A L P A-=,其中110111r P ⎡⎢ ⎢ 1= 1 0 1 ⎣0 0 ⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎦1 列 1r列 类似地,经1n -次消元,有121111111,22,11n n n n n r n n r r A L P L P L P A----------= .如果预先知道每一个(1,2,,1)iir P i n =- ,则在消元之前就全部作交换,得 1211,2,1,n n n r n r r A P P P A PA----== ,其中,1211,2,1,n n n r n r r P P P P ----= .即原方程变为PAx Pb =然后再消元,相当于对PA 做三角分解PA LU =由以上讨论,可得结论 【定理2.3】 若A 非奇异,则一定存在排列矩阵 P ,使得 PA 被分解为一个单位下三角阵和一个上三角1 行1行r阵的乘积,即PA LU =成立.这时,原方程组Ax b = 等价于 PAx Pb =,即等价于求解LUx Pb =令Ux y =则Ly Pb =实际求解时,先解方程组Ly Pb =,再根据 y 求解 Ux y =,即得原方程组Ax b =的解. 这种求解方法称为三角分解法.常用三角分解方法有以下几种. 1.Doolittle 分解方法 假设系数矩阵A 不需要进行行交换,且三角分解是唯一的. 记21121110n n l L l l ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ ⎢⎥⎣⎦ , 11121222n n nn u u u u u U u ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ 0 ⎣⎦ 于是有1112111121222212222112111110n n n n n n n n nn a a a u u u u u a a a l l l a a a ⎡⎤ ⎡⎤⎢⎥⎢⎥ ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎣⎦⎣⎦ nn u ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥0 ⎣⎦从前面讨论A 的LU 分解过程可看出,L 、U 的元素都是用有关的(1)k ij a -来表示的,而它们的计算较麻烦.现在给出直接从系数矩阵A ,通过比较等式的两边逐步把L 和U 构造出来的方法,而不必利用Gauss 消去法的中间结果(1)k ij a -.计算步骤: (1) 由L 阵的第1行分别乘U 阵的各列,先算出U 阵的第1行元素 11,1,2,,j j u a j n = = .然后,由L 阵的各行分别去乘U 阵的第1列,算出L 阵的第1列元素1111/,2,3,,i i l a a i n = = .(2)现假设已经算出U 阵的前1r -行元素,L 阵的前1r -列元素,下面来算U 阵的第r 行元素,L 阵的第r 列元素.由L 阵的第r 行分别乘U 阵的第j 列(,1,,)j r r n =+ ,得11r ij rk kj rjk a l u u -==+∑所以,得U 阵的第r 行元素11,,1,,r rj rj rk kj k u a l u j r r n-==- =+∑ .再由L 阵的第i 行(1,2,,)i r r n =++ 分别去乘U 阵的第r 列,得11r ir ik kr ir rrk a l u l u -==+∑,所以,得L 阵的第r 列元素11[]/,1,2,,.r ir ir ik kr rr k l a l u u i r r n -==- =++∑取1,2,,r n = 逐步计算,就可完成三角分解A LU =;(3)解与Ax b = 等价的方程组Ly b Ux y =⎧⎨=⎩逐次用向前代入过程先解Ly b = 得1111,2,3,,.i i i ij j j y b y b l y i n -==⎧⎪⎨=- =⎪⎩∑然后再用逐次向后回代过程解Ux y =得1/,()/,1,2,,2,1.n n nn n i i ij j ii j i x y u x y u x u i n n =+=⎧⎪⎨=- =--⎪⎩∑2.Crout 分解方法仍假设系数矩阵A 不需要进行行交换,且三角分解是唯一的.即ˆA L=ˆU .与Doolittle 分解方法的区别在111212122211n n n n nn a a a a a a a a a ⎡⎤ ⎢⎥ ⎢⎥=⎢⎥ ⎢⎥⎢⎥ ⎣⎦ 1122ˆˆl l ⎡⎤ 0⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥⎣⎦ 122ˆ1ˆ10n u u ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1 ⎣⎦ 比较两边,则可推导出与Doolittle 分解方法类似的公式,不过Crout 分解方法是先算ˆL 的第r 列,然后再算ˆU的第r 行.3.Cholesky 分解方法若 A 为对称正定矩阵,则有 ˆT U L =,即11()()TT T A LDL LD LD LL ===其中L 为下三角阵. 进一步展开为1121111211112122221222221212n n n n n n nn n n nn a a a l l l l a a a l l l l l l l a a a ⎡⎤⎡⎤ ⎢⎥⎢⎥ 0 ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦⎣⎦ 0nn l ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ ⎣⎦ 比较两边对应元素,容易得到12121()r rr rr rk k l a l -==-∑ ,11()/r ir ir ik rk rrk l a l l l -==-∑ 1,2,,;1,2,,.r n i r r n ==++Cholesky 分解的优点:不用选主元. 由21rrr rk k a l ==∑ 可以看出||1,2,,.rk l k r ≤=这表明中间量rk l得以控制,因此不会产生由中间量放大使计算不稳定的现象. Cholesky 分解的缺点:需要作开方运算. 改进的Cholesky 分解: 改为使用分解T A LDL =即11121121121221222121111n n n n n n n n nn a a a d l l l d a a a l l d a a a ⎡⎤ 1 ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥ 1 1 ⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥ ⎢⎥ ⎣⎦⎣⎦⎣⎦ 2n l ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1⎣⎦其中21ˆl 1ˆn l 2ˆn l ˆnn l 1ˆn u12111()/r r rr rk k k r ir ir ik k rk rk d a l d l a l d l d-=-=⎧=-⎪⎪⎨⎪=-⎪⎩∑∑,1,2,,;1,2,,.r n i r r n ==++Cholesky 分解方法或平方根法:应用Cholesky 分解可将Ax b =分解为两个三角形方程组T Ly b L x y ⎧= ⎪⎨= ⎪⎩分别可解得111111/,()/.i i i ik k ii k y b l y b l y l i n -=⎧=⎪⎨=-, =2,3,,⎪⎩∑和1/,()/1,.n n nn n i i ki k ii k i x y l x y l x l i n n =+⎧=⎪⎨=-, =--2,,2,1⎪⎩∑改进的Cholesky 分解方法或改进的平方根法:应用改进的Cholesky 分解,将方程组Ax b =分解为下面两个方程组1,,T Ly b L x D y -= ⎧⎨= ⎩同理可解得1111,,2,3,,.i i i ik k k y b y b l y i n ==⎧=⎪⎨=- =⎪⎩∑和1/,/,1,2,,2,1.n n n n i i i ki k k i x y d x y d l x i n n =+⎧=⎪⎨=- =--⎪⎩∑ 4.解三对角方程组的追赶法若()ij n n A a ⨯=满足1||||,1,2,,.nii ij j j ia a i n =≠> =∑则称A 为严格对角占优矩阵.若A 满足1||||,1,2,,.nii ij j j ia a i n =≠≥ =∑且其中至少有一个严格不等式成立,则称A 为弱对角占优矩阵.现在考虑Ax d = 的求解,即11112222211111n n n n n n n n n b c x d a b c x d a b c x d d a b x -----⎡⎤⎡⎤⎡⎤ ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ = ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 系数矩阵A 满足条件11||||0,||||||,,0,2,3,, 1.||||0,i i i i i n n b c b a c a c i n b a ⎧>>⎪≥+ ≠=-⎨⎪>>⎩采用Crout 分解方法11112222221111n n n n n n n b c a b c a b c a b βαβγαγα---⎡⎤ ⎡⎤⎢⎥ 1 ⎢⎥⎢⎥ ⎢⎥⎢⎥ = ⎢⎥⎢⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢⎥⎣⎦ ⎣⎦ 1n β-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥1 ⎢⎥⎢⎥ 1 ⎣⎦其中,,,i i i αβγ为待定系数.比较上式两边可得到111111,;,,2,3,,;,2,3,, 1.i i i i i i i i i b c a b i n c i n ααβγγβααβ-= == =+ == =-进而可导出1111111,2,3,,.,/,,2,3,,./(),2,3,, 1.i i i i i i ii i i i a i n b c b b i n c b i n γαβααββαβ--⎧= =⎪= =⎪⎨=- =⎪⎪=- =-⎩由此可看出,真正需要计算的是(1,2,,1)i n β=- ,而i α可由,i i b a 和1i β-产生.因此,实现了A 的Crout 分解后,求解Ax d =就等价于解方程组Ly dUx y =⎧⎨=⎩从而得到解三对角方程组的追赶法公式: (1) 计算i β的递推公式:1111/,/(),2,3,, 1.i i i i i c b c b i n ββαβ-⎧=⎪⎨=- =-⎪⎩(2) 解方程组Ly d =:11111/()/(),2,3,,.i i i i i i i y d b y d a y b a i n β--⎧=⎪⎨=-- =⎪⎩(3) 解方程组Ux y =:1,1,2,,2,1.n n i i i i x y x y x i n n β+⎧=⎪⎨=- =--⎪⎩追赶法的乘除法次数是66n -次.将计算121n βββ-→→→ 及12n y y y →→→ 的过程称之为“追”的过程,将计算方程组Ax d =的解121n n x x x x -→→→→ 的过程称之为“赶”的过程.四、迭代法 将Ax b =改写为一个等价的方程组 x Bx k =+建立迭代公式 (1)(),0,1,2,.i i x Bx k i +=+ =称矩阵B 为迭代矩阵.【定义】 如果对固定的矩阵B及向量k,对任意初始猜值向量(0)x ,迭代公式(1)()i i +()i()*lim i i x x →+∞=成立,其中*x 是一确定的向量,它不依赖于(0)x 的选取.则称此迭代公式是收敛的,否则称为发散的.如果迭代收敛,则应有**,x Bx k =+1. 收敛性()()*,0,1,2,i i x x i ε=- =为第i步迭代的误差向量.则有(1)(1)*()*()(),0,1,2,.x x B x x B i εε++=-=-==所以,容易推出()(0),0,1,2,,i i B i εε= =其中,(0)(0)*xxε=-为初始猜值的误差向量.设n nB K ⨯∈,lim 0i i B →+∞=⇔ ()1B ρ<.迭代法收敛基本定理: 下面三个命题是等价的 (1) 迭代法(1)()i i x Bx k +=+收敛;(2)()1B ρ<;(3) 至少存在一种矩阵的从属范数⋅,使1B <注:当条件()1B ρ<难以检验时,用1B 或B ∞等容易求出的范数,检验11B <或1B∞<来作为收敛的充分条件较为方便.常用迭代法如下. 2.Jacob 迭代 考察线性方程组Ax b =,设A 为非奇异的n 阶方阵,且对角线元素0ii a ≠(1,2,,)i n = .此时,可将矩阵A 写成如下形式A D L U =++,1122(,,,)nn D diag a a a = ,21313212000n n a L a a a a ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 0 ⎢⎥⎣⎦ ,12131232000n n a a a a a U ⎡⎤ ⎢⎥ ⎢⎥⎢⎥= 0 ⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎣⎦ ,建立Jacobi 迭代公式(1)1()1(),i i x D L U x D b +--=-++迭代矩阵11()J B D L U I D A --=-+=-J B 的具体元素为112111122122221200n n J n n nn nn a a a a a a B a a a a a a ⎡⎤ - -⎢⎥⎢⎥⎢⎥- - ⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥- - 0 ⎢⎥⎣⎦ Jacobi 迭代法的分量形式如下1(1)()()111(),j n i i i jj jm m jm m m m j jj xb a x a x a -+==+=--∑∑1,2,,;0,1,2,.j n i = =3.Gauss-Seidel 迭代容易看出,在Jacobi 迭代法中,每次迭代用的是前一次迭代的全部分量()(1,2,,)i jx j n = .实际上,在计算(1)i j x +时,最新的分量(1)(1)(1)121,,,i i i j x x x +++- 已经算出,但没有被利用.事实上,如果Jacobi 迭代收敛,最新算出的分量一般都比前一次旧的分量更加逼近精确解,因此,若在求(1)i j x+时,利用刚刚计算出的新分量(1)(1)(1)121,,,i i i j x x x+++- ,对Jacobi 迭代加以修改,可得迭代公式1(1)(1)()111(),j ni i i jj jm m jm m m m j jj xb a x a x a -++==+=--∑∑1,2,,;0,1,2,.j n i = =矩阵形式(1)1()1()(),0,1,2,.i i x D L Ux D L b i +--=-++-+=1()G B D L U -=--+注:(1)两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更快一些.(2)但也有这样的方程组,对Jacobi 迭代法收敛,而对Gauss-Seidel 迭代法却是发散的. 【例2.4】 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解下面的方程组121232342,46,4 2.x x x x x x x ⎧- =⎪-+-=⎨⎪-+=⎩初始猜值取0(0,0,0)x =. 【解】 Jacobi 迭代公式为(1)()12(1)()()213(1)()321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下 (1)(2)(3)(4)(0.5,1.5,0.5),(0.875,1.75,0.875),(0.938,1.938,0.938),(0.984,1.969,0.984).T T T T x x x x ====Gauss-Seidel 迭代公式为(1)()12(1)(1)()213(1)(1)321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下(1)(2)(3)(4)(0.5,1.625,0.9063),(0.9063,1.9532,0.9883),(0.9883,2.0,0.9985),(0.9985,1.999,0.9998).T T T T x x x x ====从这个例子可以看到,两种迭代法作出的向量序列(){}i x 逐步逼近方程组的精确解*(1,2,1)T x =,而且Gauss-Seidel 迭代法收敛速度较快.一般情况下,当这两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更3.超松弛迭代法为了加快迭代的收敛速度,可将Gauss-Seidel 迭代公式改写成1(1)()(1)()11(),j ni i i i jjj jm m jm m m m jjj xx b a x a x a -++===+--∑∑ 1,2,,;0,1,2,.j n i = =并记1(1)(1)()11(),j ni i i jj jm m jm m m m jjj rb a x a x a -++===--∑∑称 (1)i j r + 为 1i + 步迭代的第 j 个分量的误差向量.当迭代收敛时,显然有所有的误差向量(1)0(),1,2,,.i j r i j n +→→∞=为了获得更快的迭代公式,引入因子R ω∈,对误差向量 (1)i j r + 加以修正,得超松弛迭代法(简称SOR 方法)(1)()(1),0,1,2,.i i i j j j x x r i ω++=+ =即1(1)()(1)()1(),j ni i i i jjj jm mjm m m m jjjxx b a xa x a ω-++===+--∑∑1,2,,;0,1,2,.j n i = =适当选取因子ω,可望比Gauss-Seidel 迭代法收敛得更快.称ω为松弛因子.特别当1ω=时,SOR 方法就是Gauss-Seidel 迭代法.写成矩阵向量形式(1)1()1()[(1)](),j i x D L D U x D L b ωωωωω+--=+--++0,1,2,.i =迭代矩阵为1()[(1)].B D L D U ωωωω-=+--实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的. 4.迭代收敛其它判别方法:用迭代法收敛基本定理来判断收敛性时,当n 较大时,迭代矩阵的谱半径计算比较困难,因此,人们试图建立直接利用矩阵元素的条件来判别迭代法的收敛定理. (1) 若方程组Ax b =中的系数矩阵A 是对称正定阵,则 Gauss-Seidel 迭代法收敛. 对于SOR 方法,当02ω<< 时迭代收敛(2)若A 为严格对角占优阵,则解方程组 Ax b = 的Jacobi 迭代法,Gauss -Seidel 迭代法均收敛. 对于SOR 方法,当01ω<< 时迭代收敛.【例2.5】 设线性方程组为121221,32,x x x x ⎧+=-⎪⎨+=⎪⎩建立收敛的Jacobi 迭代公式和Gauss -Seidel 迭代公式. 【解】 对方程组直接建立迭代公式,其Jacobi 迭代矩阵为0230J B -⎡⎤=⎢⎥- ⎣⎦,显见谱半径()1J B ρ=>,故Jacobi 迭代公式发散.同理Gauss -Seidel 迭代矩阵为0206G B -⎡⎤=⎢⎥ ⎣⎦,谱半径()61G B ρ=>,故Gauss -Seidel 选代公式也发散. 若交换原方程组两个方程的次序,得一等价方程组121232,21,x x x x ⎧+=⎪⎨+=-⎪⎩其系数矩阵显然对角占优,故对这一等价方程组建立的Jacobi 迭代公式,Gauss -Seidel 迭代公式皆收敛. (3)SOR 方法收敛的必要条件是 02ω<<【定理2.5】 如果A 是对称正定阵,且02ω<<,则解Ax b =的SOR 方法收敛.注:当(0,2)ω∈ 时,并不是对任意类型的矩阵A ,解线性方程组Ax b =的SOR 方法都是收敛的.当SOR 方法收敛时,通常希望选择一个最佳的值opt ω使SOR 方法的收敛速度最快.然而遗憾的是,目前尚无确定最佳超松弛因子opt ω的一般理论结果.实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的.【例2.6】 求解线性方程组Ax b =,其中10.3000900.308980.30009100.4669110.274710.30898A - -- -0.46691 0= - -- 00.274711(5.32088,6.07624,8.80455,2.67600).T b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥ - ⎣⎦ =-分别利用Jacobi 迭代法,Gauss -Seidel 迭代法,SOR 迭代法求解. 【解】其结果列入下表中,方程组精确解(五位有效数字)为*(8.4877,6.4275, 4.7028,4.0066).T x =-Jacobi 迭代法计算结果i()1i x()2i x ()3i x ()4i x ()2||||i r0 012.3095 1 5.3209 6.0762 -8.8046 2.6760 5.3609 27.97113.5621 -5.2324 1.90143.631820 8.4872 6.4263 -4.7035 4.0041 0.0041 218.48606.4271 -4.7050 4.0063 0.0028Gauss-Seidel 迭代法计算结果i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 5.3209 7.6730 -5.2220 2.8855 3.6202 28.51506.1933 -5.1201 3.90040.49098 8.4832 6.4228 -4.7064 4.0043 0.0078 98.48556.4252-4.70554.00550.0038SOR 迭代法计算结果(1.16ω=)i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 6.1722 9.1970 -5.2320 3.6492 3.6659 29.69416.1177 -4.8999 4.43351.33136 8.4842 6.4253 -4.7005 4.4047 0.0051 78.48686.4288-4.70314.00650.0016计算结果表明,若求出精确到小数点后两位的近似解,Jacobi 迭代法需要21次,Gauss -Seidel 迭代法需要9次,而SOR 迭代法(选松弛因子 1.16ω=)仅需要7次,起到加速作用.5.误差分析 【定理2.6】设 *x 是方程 Ax b = 的惟一解,v ⋅ 是某一种向量范数,若对应的迭代矩阵其范数1v B <,则迭代法(1)(),0,1,2,.i i xBx k i +=+ = 收敛,且产生向量序列(){}i x 满足()*()(1)||||||||||||1||||i i i vv vvB x x x x B --≤--()*(1)(0)||||||||||||1||||i i vv vvB x x x x B -≤--【证明】 由迭代收敛基本定理的(3)知,迭代法(1)(),0,1,2,.i i x Bx k i +=+ =收敛到方程的解*x .于是,由迭代公式立即得到(1)*()*(1)()()(1)(),().i i i i i i x x B x x x x B x x ++--=--=-为书写方便把v 范数中v 略去,有估计式(1)*()*||||||||||||,i i x x B x x +-≤⋅-(1)()()(1)||||||||||||.i i i i x x B x x +--≤⋅-再利用向量范数不等式||||||||||||x y x y -≥-于是得第一个不等式()(1)(1)()()*(1)*()*||||||||||||||||||||(1||||)||||,i i i i i i i B x x x x x x x x B x x -++ -≥-≥--- ≥--再反复递推即第二个不等式.注:(1)若事先给出误差精度ε,利用第二个不等式可得到迭代次数的估计(1)(0)(1||||)ln ln ||||||||v v v B i B x x ε⎡⎤->⎢⎥-⎣⎦ (2)在||||v B 不太接近1的情况下,由第一个不等式,可用()(1)||||i i v x x ε--<作为控制迭代终止的条件,并取 ()i x 作为方程组 Ax b = 的近似解.但是在||||v B 很接近1时,此方法并不可靠.一般可取1,2,v =∞或F .【例2.7】 用Jacobi 迭代法解方程组123123123202324,812,231530.x x x x x x x x x ⎧++=⎪++=⎨⎪-+=⎩问Jacobi 迭代是否收敛?若收敛,取(0)(0,0,0)T x =,需要迭代多少次,才能保证各分量的误差绝对值小于610-?【解】 Jacobi 迭代的分量公式为(1)()()123(1)()()213(1)()()3121(2423)201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x +++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩Jacobi 迭代矩阵J B 为130102011088210155J B ⎡⎤ - -⎢⎥⎢⎥⎢⎥=- -⎢⎥⎢⎥⎢⎥- ⎢⎥⎣⎦,由5251||||max ,,1208153J B ∞⎧⎫==<⎨⎬⎩⎭知,Jacobi 迭代收敛. 因设(0)(0,0,0)Tx =,用迭代公式计算一次得(1)(1)(1)12363,, 2.52x x x = = =而(1)(0)|||| 2.x x ∞-=于是有6110(1)13ln ln 13.23i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所以,要保证各分量误差绝对值小于610-,需要迭代14次.【例2.8】 用Gauss -Seidel 迭代法解例2.11中的方程组,问迭代是否收敛?若收敛,取(0)(0,0,0)Tx =,需要迭代多少次,才能保证各分量误差的绝对值小于610-?【解】 Gauss -Seidel 迭代矩阵G B 为102403601()03025524000G B D L U - - ⎡⎤⎢⎥=-+= -⎢⎥⎢⎥ 38 -3⎣⎦显然1||||14G B =<,所以迭代收敛. Gauss -Seidel 迭代分量公式为(1)()()123(1)(1)()213(1)(1)(1)3121(2423),201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x ++++++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩因取(0)(0,0,0)T x =,故迭代一次得(1)(1)(1)1231.2, 1.35, 2.11x x x = = =于是有(1)(0)|||| 2.11x x ∞-=,计算得6110(1)14ln ln 10.2.114i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所在,要保证各分量误差绝对值小于610-,需要迭代11次.。
数值分析2 迭代法
§2简单迭代法——不动点迭代(iterate)迭代法是数值计算中的一类典型方法,被用于数值计算的各方面中。
一、简单迭代法设方程f(x)=0 (3)在[a,b]区间内有一个根*x ,把(3)式写成一个等价的隐式方程x=g(x) (4)方程的根*x 代入(4)中,则有)(**=x g x (5)称*x 为g的不动点(在映射g下,象保持不变的点),方程求根的问题就转化为求(5)式的不动点的问题。
由于方程(4)是隐式的,无法直接得出它的根。
可采用一种逐步显式化的过程来逐次逼近,即从某个[a,b]内的猜测值0x 出发,将其代入(4)式右端,可求得)(01x g x =再以1x 为猜测值,进一步得到)(12x g x =重复上述过程,用递推关系——简单迭代公式求得序列}{k x 。
如果当k →∞时*→x x k ,}{k x 就是逼近不动点的近似解序列,称为迭代序列。
称(6)式为迭代格式,g(x)为迭代函数,而用迭代格式(6)求得方程不动点的方法,称为简单迭代法,当*∞→=x x k k lim 时,称为迭代收敛。
构造迭代函数g(x)的方法:(1)=x a x x -+2,或更一般地,对某个)(,02a x c x x c -+=≠;(2)x a x /=; (3))(21xa x x +=。
取a=3,0x =2及根*x =1.732051,给出三种情形的数值计算结果见表表 032=-x 的迭代例子问题:如何构造g(x),才能使迭代序列}{k x 一定收敛于不动点?误差怎样估计?通常通过对迭代序列}{k x 的收敛性进行分析,找出g(x)应满足的条件,从而建立一个一般理论,可解决上述问题。
二、迭代法的收敛性设迭代格式为),2,1,0()(1 ==+k x g x k k而且序列}{k x 收敛于不动点*x ,即∞→→-*k x x k (0时)因而有)3,2,1(1 =-≤-*-*k xx x x k k (7)由于),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ当g(x)满足中值定理条件时有),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ (8)注意到(8)式中只要1)(<<'L g ξ时,(7)式成立.经过上述分析知道,迭代序列的收敛性与g(x)的构造相关,只要再保证迭代值全落在[a,b]内,便得:假定迭代函数g(x)满足条件(1) 映内性:对任意x ∈[a,b]时,有a ≤g(x) ≤b ;(2) 压缩性:g(x)在[a,b]上可导,且存在正数L<1,使对任意 x ∈[a,b],有L x g <')( (9)则迭代格式)(1k k x g x =+对于任意初值0x ∈[a,b]均收敛于方程x=g(x)的根,并有误差估计式011x x LL x x kk --≤-*(10)证明 :收敛性是显然的。
第二章解线性方程组迭代法
A=(D-L)-U
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
• 收敛条件
迭代格式X=GX+g 对任意的初值X0和向量g,收敛的充要条
件是G的谱半径 (G)<1。
下面我们看一些充分条件:
0 a12
0
U
0
a1n
0 an1n
0
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
易知,Jacobi迭代有
(D L U )x b Dx (L U )x b
x D1(L U )x D1b
定理:若线性方程组AX=b的系数矩阵A,
①若A为行或列强对角占优阵,则Jacobi和Gauss-Seidel迭代都收敛;
② 若A对称正定阵,则Gauss-Seidel迭代收敛;
③ 若A对称正定阵,且2D A也为对称正定阵,则Jacobi迭代收敛。
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
将方程组变形,化为:
11x1 x2 2x1 12x2
6x3 x3
4 1
x1 3x2 15x3 2
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
《迭代法及其收敛性》课件
2 建立迭代公式
根据问题的特性和已 知条件,建立迭代公 式。
3 判断迭代是否收敛
判断迭代得到的解是 否足够接近真实解, 停止迭代。
迭代法的例子
牛顿迭代法
用于求解方程的数值方 法,通过不断迭代逼近 方程的根。
埃特金迭代法
用于求解线性方程组的 数值方法迭代法
用于求解线性方程组的 数值方法,通过不断迭 代逼近方程组的解。
迭代法的收敛性
收敛性是指迭代得到的解越来越接近真实解,而收敛速度是指迭代得到的解 的收敛速度有快有慢。
收敛速度的度量方法
1 零点误差
迭代得到的解与真实 解之间的差距。
2 牛顿数列
迭代得到的解之间的 差值的变化规律。
3 收敛阶
《迭代法及其收敛性》 PPT课件
迭代法及其收敛性
迭代法是一种求解数值问题的方法,通过反复迭代得到更精确的解。这个PPT 课件将讲解迭代法的定义、步骤、例子以及收敛性的度量方法。
什么是迭代法?
迭代法是一种求解某些数值问题的方法,从一个猜测的解开始,通过反复迭 代得到更精确的解。
迭代法的步骤
1 猜测初始解
迭代得到的解的收敛 速度的量化指标。
如何判断迭代是否收敛?
1 绝对误差减小
迭代得到的解的绝对 误差逐渐减小。
2 相对误差减小
迭代得到的解的相对 误差逐渐减小。
3 后验估计准则
通过计算后验估计准 则判断迭代的结果是 否满足要求。
总结
1 迭代法是一种常用的数值求解方法 2 收敛性和收敛速度是迭代法的重要评价指标 3 判断迭代收敛的方法有多种,需要根据问题具体情况选择
第二章迭代法的一般原理知识分享
第二章迭代法的一般原理知识分享迭代法是一种解决问题的常用方法,其基本原理是将问题分解为一系列子问题,并通过逐步逼近的方式逐步求解,直到达到预期的解决方案。
迭代法通常由以下几个步骤组成:初始化、迭代、判断停止条件、更新和输出结果。
迭代法的一般原理可以总结为以下几点:1.初始化:迭代法通常需要一个初始解,该解可能是问题的近似解或一个具有特定条件的解。
这个初始解将作为迭代的起点,进而逐步逼近最终的解。
2.迭代:在每一次迭代中,通过使用前一次迭代的结果作为输入来计算下一次迭代的结果。
迭代过程可以使用数学公式、算法或其他适当的方法来进行计算。
3.判断停止条件:在每一次迭代中,需要判断是否满足停止条件。
停止条件通常与所求解的问题有关,可以根据预先设定的要求来判断是否已经达到了足够的精度或满足了特定的条件。
4.更新:根据迭代的结果,需要更新迭代变量的值。
这个更新可以是简单的赋值操作,也可以是需要进行复杂计算或使用迭代公式来进行计算。
5.输出结果:当满足停止条件时,迭代过程结束,并输出最终的解。
这个解可能是问题的数值解、近似解或其他形式的解决方案。
迭代法的优点在于它可以通过逐步逼近的方式不断提高解的精度,不需要一次性找到完美的解决方案。
这使得迭代法在处理复杂问题时非常有用,因为往往很难找到问题的精确解。
迭代法的应用非常广泛,可以用于解决数值计算、优化问题、图像处理、机器学习等领域的问题。
例如,在求解非线性方程时,可以使用牛顿迭代法来逼近方程的根;在求解线性方程组时,可以使用雅可比迭代法或高斯-赛德尔迭代法来逼近方程的解。
需要注意的是,迭代法并不是万能的,不是所有问题都适合使用迭代法来解决。
在选择是否使用迭代法时,需要考虑问题的特性和求解方法的适用性。
总结起来,迭代法是一种通过逐步逼近的方式来解决问题的方法。
它的基本原理是通过初始化、迭代、判断停止条件、更新和输出结果等步骤来逼近最终的解决方案。
迭代法广泛应用于各个领域,是解决复杂问题的常用手段之一。
第二节 迭代法 2
( k , c 0)
则称迭代格式 xk 1 ( xk ) 是 p 阶收敛的.
特别地, p = 1时称为线性收敛, p = 2 时称为二阶(平方)收敛, , 收敛阶越大, 收敛越快 1<p<2时称为超线性收敛显然 . 利用微分中值定理及泰勒展式可得下面的定理3.
数学学院 信息与计算科学系
数学学院 信息与计算科学系
3 2 f ( x ) x 4 x 10 0 在 例2 用迭代法求方程
[1,2] 内的一个近似根,取初始近似值 x0 1.5
解
原方程的等价方程可以有以下不同形式
(1) ( 2) ( 3) ( 4) x x x 3 4 x 2 10 10 x 4x x 1 x 10 x 3 2 10 x 4 x
1 x 2 x 2 )4
x 4 1
x 3 ( x) x4 2x2 3
数学学院 信息与计算科学系
分别按以上三种形式建立迭代格式,并取x0=1进行 迭代计算,结果如下:
xk 1 1 ( xk ) (3 xk 2 x ) x26 x27 1.124123
x x ( x ) 在[a , b]上有唯一根 ;
(2) 对任意迭代初值 x0∈[a , b],迭代序列 xk 1 ( xk ) ( k 0,1, 2,) 收敛于 x 。
数学学院 信息与计算科学系
证 (1) 先证方程 x ( x ) 之解存在且唯一. 由于 ( x ) 在[a , b]上存在, 所以 ( x ) 连续。
由定理2知 ( x0 ) 值越小,收敛速度就越快
数学学院 信息与计算科学系
取 x0 1.5 , 列表计算如下 n 0 1 2 3 4 5 6 7 8 (1) 1.5 -0.875 6.732 -469.7
迭代法详解——精选推荐
迭代法详解迭代法(iteration)也称辗转法,是⼀种不断⽤变量的旧值递推出新值的解决问题的⽅法,迭代算法⼀般⽤于数值计算。
累加,累乘都是迭代算法的基础应⽤。
利⽤迭代法解题的步骤:1)确定迭代模型根据问题描述,分析出前⼀个(或⼏个)值与下⼀个值的迭代关系数学模型。
2)建⽴迭代关系式递推数学模型⼀般是带下标的字母,算法设计中要将其转化为“循环不变式”----迭代关系式,迭代关系式就是⼀个直接或间接地不断由旧值递推出新值的表达式,存储新值的变量称为迭代变量。
3)对迭代过程进⾏控制。
确定在什么时候结束迭代过程。
迭代过程是通过⼩规模问题的解逐步求解⼤规模问题的解,表⾯上看正好与递归相反,但也找到了⼤规模问题与⼩规模问题的关系。
本节的例⼦是⽤迭代完成的,也都可以⽤递归完成。
相信尝试后,定能体会到递归的简便之处。
1,递推法(recursion)是迭代算法的最基本表现形式。
⼀般来讲,⼀种简单的递推⽅法,就是从⼩规模的问题解出⼤规模问题的⼀种⽅法,也称其为“正推“。
如”累加“。
兔⼦繁殖问题:⼀对兔⼦从出⽣后第三个⽉开始,每⽉⽣⼀对兔⼦,⼩兔⼦每到第三个⽉有开始⽣兔⼦,问⼀年中每个⽉各有多少兔⼦?我们通常⽤的迭代:print(a,b)for(i=1;i<=10;i++){c=a+b; print(c); a=b; b=c;}另⼀种构造不变式的⽅法:1 2 3 4 5 6 7 8a b c=a+b a=b+c b=a+c c=a+b这样,⼀次循环其实是递推了三步,循环次数就要减少了。
#include<stdio.h>int main(){int i,a=1,b=1;int c;printf("%d %d ",a,b);for(i=1;i<=4;i++){c=a+b;a=b+c;b=c+a;printf("%d %d %d ",c,a,b); //注意输出顺序是c,a,b}}上⾯输出的共2+3*4=14项,这样的算法不太完美。
第二节迭代法及其收敛性PPT课件
证明: 由微分中值定理可得
ek1 xk1 x g(xk)g(x) g(k)(xk x) g(k)ek
其中k在xk与x之间, 再由局部收敛可知
limek1 e k
k
lki mg(k)
g(x)
故迭代格式是线性收敛的.
定理7.2.3 设x是迭代函数g(x)的不动点,整数p 1, g(p)(x)在x
的邻域上连续,则迭代格式在x的邻域上是p阶收敛的充分必
1.732361 1.732051
注意 31.7,32从0计5算0 结8 果看到迭代法(1) 及(2)均不收敛,且它们均不满足定理3中的局部收敛条 件,迭代法(3)和(4)均满足局部收敛条件,且迭代法 (4)比(3)收敛快,因在迭代法(4)中 g(x*.)0
定义7.2.2 设迭代过程 xk1收g敛(x于k)方程
x2的根30
x* 3.
解 这里 f(x),可x2改写3为各种不同的等价形 式 xg,(x其) 不动点为 x*由此3构. 造不同的迭代法:
( 1 )x k 1 x k 2 x k 3 ,g ( x ) x 2 x 3 ,
g ( x ) 2 x 1 ,g ( x * g ) (3 ) 2 3 1 1 .
xg(x).
(2.1)
若要求 x满* 足 f (x*,) 则0 x;*反之g(亦x*然), 称 x为* 函数 g的( x一) 个不动点.
求 f的(x零) 点就等价于求 的不(x动) 点,选择一个 初始近似值 x,0 将它代入(2.1)右端,即可求得
x1 g(x0).
如此反复迭代计算
x k 1 g (x k) (k 0 ,1 , ).
34
又因 132g(x),故33 定 理2 1中条件1°也成立.
常用算法——迭代法
常用算法——迭代法迭代法是一种常见的算法设计方法,它通过重复执行一定的操作来逐步逼近问题的解。
迭代法是一种简单有效的求解问题的方法,常用于求解数值问题、优化问题以及函数逼近等领域。
本文将介绍迭代法的基本概念、原理以及常见的应用场景。
一、迭代法的基本概念迭代法的思想是通过反复应用一些函数或算子来逐步逼近问题的解。
对于一个需要求解的问题,我们首先选择一个初始解或者近似解,然后通过不断迭代更新来逼近真实解。
迭代法的核心是找到一个递推关系,使得每次迭代可以使问题的解越来越接近真实解。
常见的迭代法有不动点迭代法、牛顿迭代法、梯度下降法等。
这些方法的求解过程都是基于迭代的思想,通过不断逼近解的过程来得到问题的解。
二、迭代法的原理迭代法的基本原理是通过不断迭代求解迭代方程的解,从而逼近问题的解。
迭代法的求解过程通常分为以下几个步骤:1.选择适当的初始解或者近似解。
初始解的选择对迭代法的收敛性和效率都有影响,一般需要根据问题的特点进行合理选择。
2.构建递推关系。
通过分析问题的特点,构建递推关系式来更新解的值。
递推关系的构建是迭代法求解问题的核心,它决定了每次迭代如何更新解的值。
3.根据递推关系进行迭代。
根据递推关系式,依次更新解的值,直到满足收敛条件为止。
收敛条件可以是解的变化小于一定阈值,或者达到一定的迭代次数。
4.得到逼近解。
当迭代停止时,得到的解即为问题的逼近解。
通常需要根据实际问题的需求来判断迭代停止的条件。
三、迭代法的应用迭代法在数值计算、优化问题以及函数逼近等领域有广泛的应用。
下面将介绍迭代法在常见问题中的应用场景。
1.数值计算:迭代法可以用于求解方程的根、解线性方程组、求解矩阵的特征值等数值计算问题。
这些问题的解通常是通过迭代的方式逼近得到的。
2.优化问题:迭代法可以应用于各种优化问题的求解,如最大值最小化、参数估计、模式识别等。
迭代法可以通过不断调整参数的值来逼近问题的最优解。
3.函数逼近:迭代法可以应用于函数逼近问题,通过不断迭代来逼近一个函数的近似解。
python迭代法
Python迭代法1. 简介迭代法(Iterative Method)是一种通过反复迭代计算来逼近最终结果的方法。
在计算机科学与数学领域,迭代法被广泛应用于解决各种问题,特别是在数值计算、优化和模拟等方面。
Python作为一种高级编程语言,提供了丰富的迭代工具和库,使得迭代法在Python程序中得以方便地应用和实现。
本文将介绍迭代法的概念、原理以及在Python中的具体实现。
2. 迭代法概念与原理2.1 迭代法的定义迭代法是一种通过逐步逼近的方法,将问题分解成多个较简单或者相似的子问题,并通过反复迭代计算来逐渐逼近最终解决方案的方法。
2.2 迭代法的基本原理迭代法的基本原理是通过不断重复执行某个操作,直到满足停止条件。
在每一次迭代中,根据当前的状态和问题的特点,通过某种转换或者计算方法,得出下一次迭代的状态,如此依次迭代下去,直到达到停止条件。
2.3 迭代法的应用场景迭代法适用于很多问题的求解,特别是对于那些难以通过解析方法求解的问题,迭代法往往是一种有效的选择。
例如,求解非线性方程的根、求解线性方程组、最优化问题等都可以使用迭代法来逼近解决。
3. 迭代法在Python中的实现3.1 内置迭代器Python提供了一些内置的迭代器(Iterator),使得使用迭代法来处理数据和执行操作变得简单和高效。
其中,常用的内置迭代器包括: - range()迭代器:生成一个指定范围的整数序列。
- enumerate()迭代器:同时返回索引和元素。
- zip()迭代器:将多个迭代器的元素组合在一起。
3.2 自定义迭代器除了使用内置迭代器,Python还允许用户自定义迭代器来实现更加灵活和复杂的迭代算法。
自定义迭代器需要实现__iter__()和__next__()两个特殊方法。
其中__iter__()方法返回迭代器对象本身,__next__()方法返回下一个迭代的值。
3.3 使用迭代器处理数据在Python中,迭代器常常用于处理大量的数据集合,例如列表、元组、字典等。
数值分析课件 非线性方程的迭代解法方程求根
k
解: 改写为以下两种等价方程 0
方法1 1.5
方法2 1.5
(1)x x3 1, (2)x 3 x 1 1 2.375 1.35721
建立迭代公式:(1)xk 1
x
3 k
1;
2
(2)xk 1 3 xk 1
3
4
各步迭代结果如下:
5
12.39
1.33086 1.32588 1.32494 1.32476
定义:迭代公式 xk+1= g(xk) (k= 0,1, …) 被称为求
解方程 f(x)=0 的简单迭代法(不动点迭代法), 其中g(x)称为迭代函数。
注:上述迭代法是一种逐次逼近法,其基本思想是 将隐式方程归结为一组显示的计算公式,就是说, 迭代过程是一个逐步显示化过程。
例:
求方程 f (x) x3 x 1 0 在x0 1.5 附近的根。
求 g(x) 不动点的过程
找s,使得s = g(s).
从一个初值 x0 出发,计算
x1= g(x0), x2= g(x1), … , xk+1= g(xk), …
若
{
xk
}
收敛,即存在实数
s
使得
lim
k
xk
s且
g(x)
连续,
则由
lim
k
xk
1
lim g k
xk
可知 s=g(s), 即 s是 g 的不动点, 它也是 f 的零点.
二分法求根思想
找有根区间序列(ak , bk); 用(ak , bk)的中点近似根.
二分法:
设一元非线性函数 f (x) 在 (a, b) 内只有一个 零点s , 用二分法求f (x)=0实根的过程如下:
迭代解法(全章)讲解ppt课件
10/18/2023
第六章 线性方程组的迭代解法
21
§3 常用的三种迭代解法
一、 Jacobi迭代法
对于线性方程组 Ax=b
(1)
设 det(A)≠ 0 ,aii ≠ 0,i=0,1,2,…,n ,按照如下方式对A
进行分裂:
A=L+D+U
(2)
10/18/2023
第六章 线性方程组的迭代解法
22
则由 Ax=b 得到 (L+D+U) x=b >D x=-(L+U)x+b
或 向量序列 {x(k)} 收敛于向量 x* ,当且仅当它的每一 个分量序列收敛于x* 的对应分量,即
10/18/2023
第六章 线性方程组的迭代解法
7
二、矩阵的范数
矩阵范数是反映矩阵“大小”的一种度量,具体定义如下。 定义6.3 设||·||是以n阶矩阵为变量的实值函数,且满足 条件:
(1) || A ||≥0,且|| A ||=0时,当且仅当A=0
矩阵1-范数:
列和
矩阵2-范数:
矩阵∞-范数:
行和
以上三种范数都满足矩阵范数的条件,通常将这三种 矩阵范数统一表示为||A ||p,P=1 ,2 ,∞。
10/18/2023
第六章 线性方程组的迭代解法
9
例6.2 设矩阵
求矩阵A的范数||A ||p,P=1 ,2 ,∞ 。 解 根据定义
由于 则它的特征方程为:
25
对于 n 元线性方程组 其一般式为:
从中解出:
得Jacobi迭代格式
通过|| x(k+1)-x(k)||<ε 控制迭代次数。
10/18/2023
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x 2 3 x1 1 3 1.35721 1 1.33086 ,
依次可得
x4 1.32494, x5 1.32476, x6 1.32473 x7 1.32472, x8 1.32472
计算结果见下表
k
xk
0
1. 5
1
1. 35721
(2.15)
迭代法的突出优点是算法的逻辑结构简单,且在计 算时,中间结果若有扰动,仍不会影响计算结果。其计算 步骤为:
(1)确定方程f(x)=0的等价形式x=g(x),为确保迭代过 程的收敛,要求g(x)满足|g′(x)|≤q<1
(2)选取初始值x0,按公式 x k+1=g(xk), k=0,1,2,…
迭代过程(2.8)就是在x轴取初始近似值x0,过x0作y轴 的平行线交曲线y=g(x)于p0,p0的横坐标为x0,纵坐标为 g(x0)(g(x0)=x1),也即
p0(x0,x1) 再在x轴上取x1作为新的近似值,过x1作y轴的平行线 交曲线y=g(x)于p1,p1的横坐标为x1,纵坐标为 g(x1)(g(x1)=x2),也即
xk
xk xk 1
0
1. 50000
(2.8)
从给定的初始近似根x0出发,按迭代公式(2.8)可以
得到一个数列
x0,x1,x2,…,xk,…
若这个数列{xk}有极限,则迭代公式(2.8)是收敛 的。此时数列的极限
x
lim
k
xk
就是原方程(2.1)的根。 虽然迭代法的基本思想很简单,但效果并不总是令
人满意的。对于上例,若按方程写成另一种等价形式
其中 (x)
3 1
x2
,则 (x)
2x (1
x
2
)
2 3
3
由于: (x) 2 1.6 0.51741 1 , x (1.4,1.6) ,因而迭代收敛。且
33 (1 1.42 )2
第二种迭代格式比第一种迭代格式收敛得更快。 取初值 x0 1.5 ,用第二种迭代格式计算过程如下表所示。
k
方法
1:取方程等价形式
x
1
1 x2
,对应迭代格式
xk 1
1
1 xk2
,k
0,1,
。
其中 (x) 1 1 ,则 (x) 2 。由于 (x) 2 2 0.729 1 ,x (1.4,1.6) ,
x2
x3
x3 1.43
因而迭代收敛。
方法 2:取等价形式 x3 1 x2 ,故收敛格式 xk 1 3 1 xk2 , k 0,1, 。
2
1. 33086
3
1. 32588
4
1. 32494
5
1. 32476
6
1. 32473
7
1. 32472
8
1. 32472
xk xk 1
——
对于一般形式的方程(2.1),首先我们设法将其化为 下列等价形式
x=g(x)
(2.7)
然后按(2.7)构造迭代公式
xk1 g( xk ), k 0,1, 2,
(2) (ex ) 0.6 1 0.5 x 0.6 e 0.5 0.606 e 0.6 0.5488
图 2.5
表 2―3
因此用迭代公式
由表可见
x exk k 1
为方程
x x10
x ex
例 对方程 x3 x 2 1 0 在区间[1.4,1.6]建立两种收敛的迭代格
式,并用其中一种求解,精确到 5 位有效数字。
x=x3-1
(2.9)
建立迭代公式
xk+1=x3k-1, k=0,1,2,… 仍取初始值x0=1.5, 则迭代结果为
x1=2.375 x2=12.3976
迭代法的几何意义:把方程(2.1)求根的问题改写成 (2.7)变为求数列{xn}的极限,实际上是把求根问题转 化为求
y x
y
g(x)
பைடு நூலகம்
图 2.4
第2章 方程求根
§1 二分法 §2 简单迭代法 §3 切线法(牛顿法) §4 弦截法
二分法适合单 根,不能求复 根和偶数重根, 且收敛速度慢, 可以为其他方 法提供一个初 值,用其他方 法精确化。
图 2.3
预备定理
介值定理 函数 f(x)在[a,b]上单调连续,且 f(a)f(b)<0,则方程 f(x)=0 在区间[a,b]上有且仅有
必须说明两点: ①若g(x)可微,可用充分条件
g(x) q 1
这里q<1是非常重要的条件,否则不能保证迭代收敛。
②对于收敛的迭代过程,误差估计式(2.11)说明迭代 值的偏差|xk-xk-1|相当小,就能保证迭代误差|x-xk| 足够小。因此在具体计算时常常用条件
|xk-x k-1|<ε 来控制迭代过程结束。
迭代法是一种逐次逼近的方法,用某种固定格式反复校正根的近似 值,使之逐步精确,最后达到满意的效果。
例 求 x3 x 1 0 在 x0 1.5 附近的根。 解 将上式写成等价方程 x 3 x 1 ,当用根 x 代入时,有
x 3 x* 1 设 x0 1.5 是其根,代入时,有
x1 3 x 0 1 3 1.5 1 1.35721
一个实根 x*。
微分中值定理 如果函数 f (x) 在 [a, b] 连续,在
( a,b)可微,则在( a,b)内至少有一点 存在,使
f (b) f (a ) f ( )(b a )
a b
§2 迭代法
迭代法的基本思想是:首先将方程(2.1)改写成某种 等价形式,由等价形式构造相应的迭代公式,然后选取方 程的某个初始近似根x0,代入迭代公式反复校正根的近 似值,直到满足精度要求为止。迭代法是一种数值计算 中重要的逐次逼近方法。
进行迭代; (3)若|x k+1-xk|<ε,则停止计算,x≈x k+1。
例2 求方程 x= e-x
在x=0.5附近的一个根。按五位小数计算,计算结果 的精度要 求为ε=10-3。
解 过x=0.5以步长h=0.1计算 f(x)=x-e-x
由于 f(0.5)<0,f(0.6)>0
故所求的根在区间(0.5,0.6)内,且在x=0.5附近
p1(x1,x2) 而这相当于过p0引平行于x轴的直线交y=x于
Q1(x1,x2)
再过Q1引平行于y轴的直线交曲线y=g(x)于 p1(x1,x2)
仿此可得到点列
p0(x0,x1),p1(x1,x2),p2(x2,x3),…
若
lim
k
pk
p
lim
k
xk
x
则迭代法收敛 ,见图2.4(a);否则迭代法发散 ,见图 2.4(b)。