第四章 解线性方程组的迭代法
数值方法课后习题答案第4章
解线性方程组迭代法
第四章 解线性方程组迭代法
习题4-1
第四章
解线性方程组迭代法
Байду номын сангаас
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
解线性方程组迭代法
第四章
习题4
习题4
习题4
习题4
8.
设A为严格对角优势阵,证明:
习题4
9. A是n阶非奇异阵,B是n阶奇异阵,试求证:
习题4
习题4
P91
P91.
x0
p0 r0
Ap0
x1
r1
p1
Ap1
x2
r2
0
3
7
30/29=
17/29=
1360/841=
1530/841=
14/9=
0.3
P91
1.034482758 0 1 8 10/29= 0.344827586
0.570796875 0.493315839 0.500166165 0.499999398 1.001438281 0.998173633 1.000074653 1.000013383 -0.49943416 -
0.500558834 0.499923587 0.500003961
w=1.03
10 29 a0 =10/29=0.344827586
2890/841=3.436385254 260100/24389=10.66464388 a1 =8381/26010=0.322222222 -289/29= -9.965517218 b0 =289/841=0.343638524
求解线性方程组的迭代解法
(4 - 1)
简记为:
an1 x1 an2 x2 ann xn bn
n
aij x j bi
j 1
(i 1,2,, n)
其系数矩阵A非奇异,不妨设aii≠ 0 (1,2,…,n)可将上式 改写为等价方程组:
x1 (
a12 x2 a13x3 a1n xn b1) / a11
但在Jacobi迭代过程中, 对已经算出来的信息未 加充分利用,
即在计算x2(k 1)时, x1(k 1)已经算出, 计算xi(k 1)时, x1(k 1) , x2(k 1) ,, xi(k11) 已经算出,这些前面的最新分量未 被利用,从直观上看,在收敛的
情况下, 这些新值x1(k 1) , x2(k 1) ,, xi(k11)应比旧值x1(k) , x2(k) ,, xi(k1)更 好,更准确一些.因此,如果每计算出一个新的 分量便立即用它取代 对应的旧分量进行迭代 ,可能收敛更快并且只需 要存贮一个近 似解向量即可, 据此想法构造的迭代法 称为高斯 塞德尔 (Gauss Seidel)迭代法,其迭代格式为 :
(3 8)
M ( D L) U x(k1) n
1 ann
(an1x1(k 1)
an2 x2(k 1)
1
a x(k 1) nn1 n1
bn )
其分量形式为
x(k 1) i
1 aii
i 1
(
a x(k 1) ij j
j 1
n
n维点列收敛的一种等价描述是其对应坐标序列均
收敛,向量序列也有类似的结论。
定理1
Rn中的向量序列 x(k) 收敛于Rn中的
第4章线性代数方程组的迭代解法
其中
0 a2 1 B (I D1 A) a 22 a n1 an n
a1n a1 2 a1 1 a1 1 a2n 0 a2 2 an2 0 an n
在例4.2中,由迭代公式写出雅可比迭代矩阵为
8x1 3x2 2x3 20 4x1 11x2 x3 33 6x 3x 12x 36 2 3 1
( 0 ) ( 0 ) ( 0 ) ( 0 )T T 取初始向量 x ( x , x , x ) ( 0 , 0 , 0 ) 1 2 3
进行迭代, 可以逐步得出一个近似解的序列:
x Gx d( k 0 , 1 , )
( k )
( k 1 )
Gx d 中当 k x x ,则 x 时,
(k) *
* *
, 故 x * 是方程组 Ax b 的解。
对于给定的方程组可以构造各种迭代公式。
并非全部收敛
例4.1
用迭代法求解线性方程组
2x1 x2 3 2x1 5x2 3
3 ( k ) 3 1 ( k ) 25 ( k 1) 0 x 2 x3 x1 8 84 82 4 1 4 (k ) 1 (k ) (k 1 1 ) BI D A 0 x1 x3 3 x2 11 11 11 11 6 1 ( k )3 1 ( k 1) (k ) 0 x x x 3 1 2 3 2 4 12 12
2 x 4 x 3 计算得
( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) x 3 x 3 x 9 x 15 x 33 1 1 1 1 1 ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) x 3 , x 3 , x 9 , x 15 , x 33 , 2 2 2 2 2
第四章-解AX=b的迭代法
•迭代格式的收敛性
2 k 引理4.1 (线性代数定理) 设矩阵序列 IM , , M , , M ,
k l i m M 0 ( M ) 1 . k
则
(证明见关治和陈景良编《数值计算方法》P410-412) 定理4.1 设迭代格式为
( k 1 ) ( k ) xM x g , k 0 , 1 , 2 , ( 4 . 3 )
充分性()设ρ(M)<1,证{x(k)}收敛。
如果ρ(M)<1 ,则I-M为非奇异矩阵。事实上,因
为ρ(M)<1,λi<1,因此λ=1不是M的特征值,即
| 1 IM || IM |0 .
所以方程组 (I-M)x = f 有惟一解x*,满足(I-M)x* = f ,即 x*=Mx* + f 。于是
( k ) ( k 1 ) 2 ( k 2 ) x x * M ( x x * ) M ( x x * ) k ( 0 ) k M ( x x * ) M . 0
由引理4.1知,
k () k I f ( M ) < 1 ,t h e nl i m M 0 , l i m ( x x * ) 0 , i . e . k k () k l i m x x * . k
写成矩阵形式
x1 0 x b 2 21 31 x3 b x b n n1
或简记为
b 12 b 13 0 b23 b 0 32 bn2 bn3
b 1n x 1 g 1 b2n x2 g2 b 3n x 3 g3 g x 0 n n
( k ) ( k ) ( k 1 ) ( k ) x x * x x q x x *
线性方程组的迭代式求解方法
线性方程组的迭代式求解方法迭代法解方程的基本原理1.概述把 Ax=b 改写成 x=Bx+f ,如果这一迭代格式收敛,对这个式子不断迭代计算就可以得到方程组的解。
道理很简单:对 x^{(k+1)}=bx^{(k)}+f 两边取极限,显然如果收敛,则最终得到的解满足 \lim_{k\rightarrow\infty } x^{(k)}=x^*=Bx^*+f ,从而必然满足原方程 Ax^*=b 。
迭代方法的本质在于这一次的输出可以当作下一次的输入,从而能够实现循环往复的求解,方法收敛时,计算次数越多越接近真实值。
2.收敛条件充要条件:迭代格式 x=Bx+f 收敛的充要条件是 \rho (B)<1充分条件: \Vert B\Vert <1即 \Vert B\Vert <1 \Rightarrow \rho(B)<1\Leftrightarrow 迭代收敛一、Jacobi迭代法怎样改写Ax=b ,从而进行迭代求解呢?一种最简单的迭代方法就是把第i行的 x_i 分离出来(假定 a_{ii} \ne 0 ):\sum_{j=1}^{n}a_{ij}x_j=b_i\Rightarrow x_i=\frac{b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j}{a_{ii}}\quad \\这就是Jacobi(雅可比)迭代法。
迭代格式给定x^{(0)}=\left[x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\rig ht]^T ,则Jacobi法的迭代格式(也称分量形式)为x_i^{(k+1)}=\frac{1}{a_{ii}}\left ( {b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j^{(k)}}\right),\quadi=1,2,\cdots,n\\矩阵形式设 A=D-L-U。
Jacobi法的矩阵形式(也称向量形式)为x^{(k+1)}=B_Jx^{(k)}+D^{-1}b\\其中迭代矩阵 B_J=D^{-1}(L+U)收敛条件\begin{eqnarray} \left. \begin{array}{lll} \VertB_J\Vert <1 \\ A 严格对角占优\\ A, 2D-A对称正定\end{array} \right \} \end{eqnarray} \Rightarrow \rho (B_J)<1\Leftrightarrow 迭代收敛特别地,若 A 对称正定且为三对角,则 \rho^2(B_J)=\rho (B_G)<1 。
迭代法
取 x(0)=(0,0,0)T 计算结果如下:
k
x1(k)
1 0.72
x2(k) 0.83
x3(k) 0.84
2 0.971 1.07
1.15
……
…
…
11 1.099993 1.199993 1.299991
12 1.099998 1.199998 1.299997
上页 下页
例2 用Gauss—Seidel 迭代法解上题.
x (0 ) (初 始 向 量),
x
(
k
1
)
Bx (k)
f
(k 0,1, , ),
( 2 .7 )
其中B=I-(D-L)-1A= (D-L)-1U=G, f=(D-L)-1b. 称矩 阵G=(D-L)-1U为解Ax=b的高斯—塞德尔迭代法的迭 代矩阵.
上页 下页
由高斯—塞德尔迭代法(2.7)有
(k j
)
)
/
a
i
i
,
j1
ji1
x (k 1) i
(1
)
x
( i
k
)
x~
( i
k
1
)
x(k) i
( x~i(k 1)
x
( i
k
)
),
( i 1 ,2 , , n ).
即
i1
n
x ( k 1) i
x
(k i
)
(bi
a
i
j
x
( j
k
1
)
a
i
j
x
( j
k
)
)
/
a
i
i
第四章_线形方程组求根
max | aij |
1 i n j 1
n
max表示A ' A的最大特征值
§1
向量范数,矩阵范数,谱半径 及有关性质
2 0 0 A 0 1 0 0 0 1
n 1 j n i 1 n
例子:设有方阵A,求其1-范数,2-范数及-范数。
其中
A 1 max | aij | max(2 ,1 ,1 ) 2 A
max | aij | max(2 ,1 ,1 ) 2
1 i n j 1
§1
向量范数,矩阵范数,谱半径 及有关性质
X BX ( I B ) X 0 X 0, ( I B ) 0 det( I B ) 0 2 0 0 2 0 0 4 0 0 A' A 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 || A ||2 max ( A ' A) 4 2
|| X ||2 x12 x2 2 ... xn 2 ( xi )
i 1
1-范数
1 2 2
i 1 n
2-范数
|| X || max{| x1 |,| x2 |,...,| xn |} max{| xi |}
1i n
其中x1,x2, …,xn分别是X的n个分量 -范数 上述范数都是p范数的特例 || X || p ( xi )
§1
向量范数,矩阵范数,谱半径 及有关性质
|| A ||F
F-范数(Frobenius OR Euclid范数)
i , j 1
a
实验4 求解线性方程组的迭代法
实验4 解线性方程组的迭代法一、稀疏矩阵的生成和运算实验内容:稀疏矩阵相关命令的熟悉。
实验要求:1、熟悉sparse、full、nnz、spy等命令的使用方法.(实验报告)注意:spy使用时要加上输入参数,直接运行spy会出现与本课程无关的结果。
2、了解sprand命令的用法。
3、熟悉speye、condest、normest、spdiags等命令的使用方法,并生成107阶的三对角矩阵:(实验报告)二、大型稀疏线性方程组的求解实验内容:用不同的迭代法求解n阶大型稀疏矩阵Ax=b(n=1e+4)。
实验要求:(1)数学问题的生成:(a)使用sprand命令生成,稀疏度0.001,并通过spy观察矩阵的结构;(b)运行PPT第21页的两段代码,分别生成A,运行结果有什么区别?注意:如果用稠密方式生成矩阵,可能会导致内存不够。
(2)增大矩阵阶数到1e+6,使用MATLAB自带的pcg与“\”运算,以及分别Gauss消去法、Jacobi迭代法和Gauss-Seidel迭代法分别求解以下Sx=b,看看运算时间对比:(实验报告)b为全1向量,S为以下代码所生成:m=1000,n=m*m;eone=ones(m,1);s=spdiags([-eone,8*eone,-eone],[-1,0,1],m,m);E=speye(m);a1=blkdiag(kron(E,s));a2=spdiags([ones(n,1)],[m],n,n);A=a1-a2-a2';注意:pcg命令只适用于对称正定矩阵三、病态的线性方程组的求解实验内容:考虑方程组Hx=b的求解,其中系数矩阵H为Hilbert矩阵,首先给定解(例如取为各个分量均为1)再计算出右端b的办法给出确定的问题。
实验要求:(1)设定n=6,分别用Gauss消去法、Jacobi迭代法和Gauss-Seidel迭代法求解方程组,其各自的结果如何?各方法的误差比较如何?(实验报告)(2)逐步增大问题的维数100、1000、3000,仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(实验报告)。
解线性方程组的迭代法
解线性方程组的迭代法Haha送给需要的学弟学妹摘要:因为理论的分析表明,求解病态的线性方程组是困难的,但是实际情况是否如此,需要我们来具体检验。
系数矩阵H 为Hilbert 矩阵,是著名的病态问题。
因而决定求解Hx b =此线性方程组来验证上述问题。
详细过程是通过用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法求解Hx b =线性方程组。
关键词:病态方程组、Gauss 消去法、J 迭代法、GS 迭代法、SOR 迭代法目录:一、问题背景介绍二、建立正确额数学模型 三、求解模型的数学原理1、Gauss 消去法求解原理2、Jacobi 迭代法求解原理3、G-S 迭代法求解原理4、SOR 迭代法求解原理5、Jacobi 和G-S 两种迭代法收敛的充要条件 四、计算过程(一)Hilbert 矩阵维数n=6时1、Gauss 消去法求解2、Jacobi 迭代法求解3、G-S 迭代法求解4、SOR 迭代法求解(二)Hilbert 矩阵维数n=20、50和100时1、G-S 迭代法求解图形2、SOR 迭代法求解图形 五、编写计算程序 六、解释计算结果1、Gauss 消去法误差分析2、G-S 迭代法误差分析3、SOR 迭代法误差分析G-S 迭代法与SOR 迭代法的误差比较 七、心得体会正文:一、问题背景介绍。
理论的分析表明,求解病态的线性方程组是困难的。
实际情况是否如此,会出现怎样的现象呢?二、建立正确的数学模型。
考虑方程组Hx b =的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(), , ,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。
通过首先给定解(为方便计算,笔者取x 的各个分量等于1),再计算出右端,b Hx =这样Hx b =的解就明确了,再用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法分别求解,Hx b =将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。
解线性方程组的迭代法
|| x || 0 (非负性) ; (1)|| x || 0 ,当且仅当 x 0 时,
(2) || x ||| | || x || (齐次性); (3) || x y |||| x || || y || (三角不等式). 则称 || x || 为向量 x 的范数 (或模).
4.1.2 向量范数和向量序列的极限
常用的向量范数:设 x R n (1)向量的 - 范数 (最大范数): || x || max | xi |
1 i n
|| x ||1 (2)向量的 1 - 范数 (绝对值范数):
(3)向量的 2 - 范数:|| x ||2 ( x , x ) (
|| A ||2 3+2 2 , || A ||F 6
4.1.3 矩阵范数和矩阵序列的极限
(k ) ) R nn ,如果存 定义5 (矩阵序列的极限) 设有矩阵序列 Ak (aij
在 A (aij ) R nn,使
k (k ) lim aij aij ,
i, j 1, 2,
(4) || AB |||| A || || B || ; 则称 || A || 为矩阵 A 的范数.
4.1.3 矩阵范数和矩阵序列的极限
相容性: 设有矩阵范数 || ||s 和向量范数 || ||t ,如果对任何向量 x R n 及矩阵 A R nn ,有/2 || A ||F ( aij ) i , j 1 n
它是与向量 2-范数相容的矩阵范数,但不是从属范数.
4.1.3 矩阵范数和矩阵序列的极限
解线性方程组的迭代法
0.9906
0.0355
5 1.01159 0.9953
1.01159 0.01159
6 1.000251 1.005795 1.000251 0.005795
7 0.9982364 1.0001255 0.9982364 0.0017636
可见,迭代序列逐次收敛于方程组的解, 而且迭代7次得到精确到小数点后两位的近似解.
a11x1 a12x2 a13x3 b1 a21x1 a22x2 a23x3 b2 a31x1 a32x2 a33x3 b3
从而得迭代公式
x1
a12 a11
x2
a13 a11
x3
b1 a11
x2
a21 a22
x1
a23 a22
x3
b2 a22
x3
a31 a33
M 00.8 00..75
但(M)=0.8<1,所以迭代法 x(k+1)=Mx(k)+g 是收敛的.
由(3.5)式可见,‖M‖越小收敛越快,且当‖x (k) -x(k-1) ‖很小时,‖x(k) –x*‖就很小,实际中用‖x (k) x(k-1) ‖<作为
迭代终止的条件。 例如,对例1中的Jacobi迭代计算结果
+‖x(k+1) –x*‖‖M‖‖x(k) –x(k-1)‖+‖M‖‖x(k) –x*‖ 从而得‖x(k) –x*‖‖M‖‖x (k) -x(k-1) ‖/(1- ‖M‖)
(3.5) (3.6)
估计式(3.5)得证。利用(3.5)式和
‖x(k+1) 得到
-x(k)
‖‖M‖‖x
(k)
-x(k-1)
‖
解线性方程组 的迭代法
线性方程组迭代法
线性方程组迭代法
线性方程组迭代法,又称坐标下降法,是一种用于解线性方程组的迭代求解方法,常用于线性规划以及单纯形法等技术。
早在上世纪50年代,此方法就在解决
线性规划问题中得到了广泛应用,到目前为止,这种技术仍然广泛使用。
线性方程组迭代法是一种基于不断迭代调整变量,使目标函数达到最优结果的
迭代求解法。
其基本步骤是:
(1) 初始化目标函数变量:首先,初始化线性方程组的目标函数的变量;
(2) 评估梯度:选择合适的算法计算目标函数的梯度;
(3) 根据该梯度更新变量:更新目标函数变量的值,使得在此次更新之后的值
更加有利于满足线性方程组的要求;
(4) 重复上述步骤,直到目标函数足够接近最优值为止;
线性方程组迭代法能够快速地求解出线性规划问题的最优解,因此,它在计算
机上经常被用来优化问题,进而提高系统运行效率。
随着网络技术的发展,线性方程组迭代法在互联网领域得到了广泛应用,这在大大缩短了计算机程序的运行时间,提高了互联网的效率。
同时,线性方程组迭代法也有助于提高系统的性能,改善用户的体验,提升企业的品牌形象。
第四章 解AX=b的迭代法
故如果序列收敛, 则收敛到解.B 称迭代矩阵.
10x1 − x2 − 2 x3 = 72 例:用Jacobi迭代法求解 − x1 + 10 x2 − 2 x3 = 83 − x − x + 5x = 42 3 1 2 解: B = I − D−1 A 1 0 0 10 1 0 0 10 −1 −2 0 0.1 0.2 0 1 0 − 0 1 0 −1 10 −2 = 0.1 0 0.2 = 10 −1 −1 5 0.2 0.2 0 0 0 1 1 0 0 5 g = D−1b = (7.2,8.3,8.4)T 取x(0) = (0,0,0)T , 代入迭代式,得x(1) = Bx(0) + g = (7.2,8.3,8.4)T x(2) = Bx(1) + g = (9.71,10.70,11.5)T L x(9) = (10.9994,11.9994,12.9992) 精确解为x = (11,12,13)T .
( k +1)
= (I − L) Ux + (I − L) g
(k )
−1
如果用矩阵A来表示,记 0 0 −a 21 0 L = −a31 −a32 M M −an1 −an2 则 L = D−1L, L O O O U = D−1U L −ann−1 0 0 −a12 −a13 0 −a23 M U = M O 0 0 L L −a1n L −a2n O M O −an−1n 0
Jacobi迭代法的计算过程如下:
(0) (0) 1.输入A = (aij ), b = (b1 ,L , bn ), 维数n, x (0) = ( x1(0) , x2 ,L , xn ),
线性方程组求解的迭代算法
线性方程组求解的迭代算法线性方程组是数学中常见的问题之一,求解线性方程组是很多科学和工程领域中必需的基本任务。
而迭代算法是一种常见的求解线性方程组的方法之一,通过不断逼近线性方程组的解来达到求解的目的。
本文将介绍一些常见的线性方程组迭代算法及其原理。
一、雅可比迭代法雅可比迭代法是最早被提出的线性方程组迭代算法之一。
其思想是通过不断迭代,在每一步都利用先前求得的近似解来逼近方程组的解。
具体算法如下:假设给定的线性方程组为Ax=b,其中A为系数矩阵,b为常数向量,x为未知向量。
1. 首先,将方程组转化为x=D^-1(b-Rx),其中D为一个对角矩阵,R为矩阵A的剩余部分。
2. 设定一个初始解向量x0。
3. 迭代计算:重复执行以下步骤,直到满足终止条件。
a. 计算下一次迭代的解向量:x_k+1 = D^-1(b-Rx_k),其中k为当前迭代的次数。
b. 检查终止条件是否被满足,如果是,则停止迭代;否则,返回步骤a。
雅可比迭代法的收敛性与系数矩阵A的特征值有关。
当A是严格对角占优矩阵时,迭代法收敛。
二、高斯-赛德尔迭代法高斯-赛德尔迭代法是雅可比迭代法的一种改进方法。
在每一次迭代中,新的解向量x_k+1的计算会利用到之前已经计算得到的近似解向量的信息,从而加快迭代的速度。
具体算法如下:1. 设定一个初始解向量x0。
2. 迭代计算:重复执行以下步骤,直到满足终止条件。
a. 对于每个方程i,计算下一次迭代的解向量的每个分量:x_k+1[i] = (1/A[i][i]) * (b[i]-Σ(A[i][j]*x_k[j],其中j为1到i-1之间的所有整数。
b. 检查终止条件是否被满足,如果是,则停止迭代;否则,返回步骤a。
高斯-赛德尔迭代法相比于雅可比迭代法,在每一次迭代中都会利用到之前计算得到的近似解向量的信息,因此收敛速度更快。
三、超松弛迭代法超松弛迭代法是对雅可比迭代法和高斯-赛德尔迭代法的进一步改进。
通过引入松弛因子ω,可以加速迭代的收敛速度。
第四章 解线性方程组的迭代法
第四章解线性方程组的迭代法4.1 迭代法及其收敛性4.1.1 向量序列及矩阵序列的极限定义1.1设中的向量序列,如果存在,使则称向量序列收敛于x,记作同样,矩阵序列,,若有,i,j=1,2,…,n,则称矩阵序列收敛于,记作.概据定义,显然有定理1.1的充分必要条件是(4.1.1)其中两个极限的右端分别指零矩阵与零向量.证明对任一种矩阵从属范数有由,故式(4.1.1)对成立.反之,若取x为第j个坐标向量,则表示第j列元素极限均为零;当j=1,2,…,n时则证明了.证毕.定理1.2的充分必要条件是,其中为谱半径.证明由于,而,当,故有,即,故.反之,当时,由上章定理4.6可知,对任给ε>0,存在,使,于是从而.证毕.定理1.3设为任一种范数,则(4.1.2) 讲解:及矩阵序列的极限是通过向量分量与矩阵元素极限定义的。
共收敛充要条件是迭代法收敛性要使用的。
为加深理解请看下例:例设,证明,但则不收敛。
解根据定理1.2要证明只要证明,先求的特征值,由,可知,故,故对有得,故,由定理1.2知不收敛。
4.1.2 迭代法的构造设非奇异,用迭代法解方程组(4.1.3)首先要构造迭代序列,通常可将方程改写为(4.1.4)并由此构造迭代法(4.1.5)其中称为迭代矩阵.对任意给定的初始向量,由(4.1.5)可求得向量序列.若,则就是方程(4.1.4)(或(4.1.3))的解.定义1.2若迭代法(4.1.5)生成的序列满足则称迭代法(4.1.5)是收敛的.构造的迭代法(4.1.5)是否收敛,取决于迭代矩阵的性质,先看例题.例4.1给定方程组它的精确解,可构造如下迭代法(4.1.6)若写成式(4.1.5)的形式,则迭代矩阵B及f可表示为:若取,按式(4.1.6)迭代10次可得,误差.它表明迭代序列(4.1.6)收敛.对于方程组(4.1.3),构造迭代法的一般原则是将A分解为A=M-N (4.1.7) 其中M非奇异且容易求,则由(4.1.3)可得(4.1.8)其中(4.1.9)这样就得到与(4.1.3)等价的(4.1.8),从而可构造(4.1.5)的迭代法,将A按不同方式分解为(4.1.7),就可得到不同的迭代矩阵B,从而得到不同的迭代法.通常为使容易计算,可取M为对角矩阵,三角矩阵或三对角矩阵等.在例4.1中,,.式(4.1.6)就是下节将要讨论的Jacobi迭代法.4.1.3迭代法的收敛性与收敛速度下面讨论迭代法(4.1.5)的收敛性.若则即,故即为方程(4.1.3)的解.令,由(4.1.5)减去等式,则得由此递推得(4.1.10) 其中与k无关,所以等价于即.由定理1.2可知,于是有如下定理.定理1.4迭代法(4.1.5)对收敛的充分必要条件是(4.1.11)其中为矩阵B的谱半径.例4.2考察例4.1中迭代法(4.1.6)的收敛性.解由可得.用方程求根方法可解得,故迭代法(4.1.6)收敛.由于计算较困难,通常可利用判断迭代法的收敛性.在本例中由于,故迭代法(4.1.6)收敛.于是,迭代法(4.1.5)收敛的充分条件如下.定理1.5对迭代法(4.1.5),如果迭代矩阵B的某种范数,则对及,迭代序列均收敛于,且有误差估计(4.1.12)证明由于,故由定理1.4得收敛于.又由(4.1.5)知于是即为(4.1.12),证毕.注意,定理只给出迭代序列(4.1.5)收敛的充分条件,即使条件‖B‖<1对任何范数都不成立,迭代序列仍可能收敛.例4.3 设,其中,讨论迭代序列的收敛性.解显然表明B的范数均大于1,但由于,故由定理1.4知此迭代序列是收敛的.下面考察迭代法(4.1.5)的收敛速度.由(4.1.10)得于是(4.1.13)根据算子范数定义可知所以是迭代k次后误差向量的范数与初始误差向量的范数之比的最大值.若要求迭代k次后这里是一个小数,通常ε<< 1,所以,由,两边取对数可得(4.1.14)它表明迭代步数k与成反比,即(4.1.15)愈大,迭代次数k愈少.于是可定义(4.1.15)式中的量为迭代法的平均收敛速度.它依赖于所取的范数,若利用定理1.3的(4.1.2)式则有定义1.3 称为迭代法(4.1.5)的渐近收敛速度.显然,它与B取何种范数无关.由于迭代法(4.1.5)收敛,故,越小,越大,迭代法收敛越快,且当迭代次数k满足时,有.例4.4 对例4.1中的迭代序列(4.1.6)要使相对误差,至少要迭代几次?解因(4.1.6)中迭代矩阵B的谱半径,因此取k=12,即为所求.,,讲解:求解可改为,从而有,为迭代收敛得充分必要条件。
数值计算_第4章 解线性方程组的迭代法
如果用高斯-赛德尔迭代法 迭代72次得:
用SOR迭代法 ,只须迭代25次即得:
逐次超松弛迭代算法
下列算法假定迭代矩阵收敛,否则要在WHILE循环中增加判断条件。
1.定义和输入系数矩阵 与常数项向量 的元素,输入松弛因子 的值。
2.FOR i:=1,2,…,n
//假定 ,形成常数项向量
FOR
当方程组的系数矩阵 具有某些性质时,可直接判定由它生成的雅可比迭代矩阵是收敛的。
定理4.3若方程组 的系数矩阵 ,满足下列条件之一,则其雅可比迭代法是收敛的。
(1) 为行对角占优阵,即
(2) 为列对角占优阵,即
证明:(1)雅可比迭代矩阵 其中
(2) 为列对角优阵,故 为行对角占优阵,由系数矩阵 构造的迭代矩阵 为行对角占优阵,则有
通常,把 的迭代称为亚松弛迭代,把 的迭代称为高斯-塞德尔迭代,而把 的迭代称为松弛迭代。
4.4
在线性代数中逆矩阵是按其伴随矩阵定义的,若 则方阵 可逆,且 ,其中 为 的伴随矩阵。要计算 个 阶的列式才能得到一个伴随矩阵,在数值计算中因其计算工作量大而不被采用。通常对 做行的初等的效换,在将 化成 的过程中得到 。在数值计算中,这仍然是一种行之有效的方法。
事实上,在计算 前,已经得到 的值,不妨将已算出的分量直接代入迭代式中,及时使用最新计算出的分量值。因此 的计算公式可改为:
即用向量 计算出 的值,用向量 计算出 的值 ,用向量 计算出 的值,这种迭代格式称为高斯—塞德尔迭代。
对于方程组AX=y,如果由它构造高斯-塞德尔迭代和雅可比迭代都收敛,那么,多数情况下高斯—塞德尔迭代比雅可比迭代的收敛效果要好,但是情况并非总是如此。
又
得到
而 ,
数值分析第四章电子教案(欧阳洁)
则有
lim
k →∞
x(k) − x*
∞
=
lim
k →∞
max
1≤i≤n
x(k) i
−
xi*
=0
由向量范数的等价性,有
c1 x(k ) − x* ∞ ≤ x(k ) − x* ≤ c2 x(k ) − x* ∞
故得 lim x(k) − x* = 0 即 lim x(k) = x*
k →∞
k →∞
欧阳洁
欧阳洁
16
2 简单迭代法收敛的充要条件
定理 简单迭代法 x(k+1) = Bx(k) + g, k = 0,1,L 对任意初始向量 x(0)都收敛的充要条件是:
迭代矩阵的谱半径 ρ(B) < 1 证明 设x* 是 x=Bx + g 的唯一解,即 x* = Bx* + g
相应的简单迭代法为 x(k+1) = Bx(k) + g, k = 0,1,L 相减,得
第四章 解线性代数方程组的迭代法
§1 向量序列和矩阵序列的极限 §2 迭代法的基本理论 §3 几种常用的迭代法
欧阳洁
1
§1 向量序列和矩阵序列的极限
一 概念 二 序列收敛的等价条件 三 定理( lim Bk = O 的充要条件)
k →∞
欧阳洁
2
§1 向量序列和矩阵序列的极限
迭代法:把方程组的解看作是某种极限过程 的极限,且实现这一极限过程的每一步是利用前 一步所得结果施行相同的演算步骤而进行。
k →∞
=
O
9
三 定理( lim Bk = O 的充要条件) k →∞
为给出判断迭代法收敛的基本定理,先
给出判断矩阵k次幂 lim Bk = O 的充要条件。 k →∞
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 迭代法和敛散性及其MATLAB 程序1 求解方程组⎪⎩⎪⎨⎧=+--=-+-=--.2.45,3.8210,2.7210321321321x x x x x x x x x (4.1)2 讨论由方程组(4.1)的第2个,第3个、第1个方程分离出321,,x x x 得到的等价方程组的迭代形式⎪⎪⎩⎪⎪⎨⎧--=-+-=--=+++6.35.05,2.45,3.8210)(2)(1)1(3)(3)(1)1(2)(3)(2)1(1k k k k k k k k k x x x x x x x x x ()Λ,2,1,0=k (4.4)做出的迭代向量序列{})(k X是否逐步逼近(4.1)的精确解*X.3 已知向量)4,3,2,1(=X 和矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛---=98754.03.02.01.043214321A ,求(1)以X 为对角元的对角矩阵DX ; (2)以A 的对角元构成的向量Y ;(3) 以A 的对角元构成的对角矩阵D ; (4)A 的所有特征值lm . 4 从第3题的矩阵A 中提取如下矩阵:(1)A 的上三角形矩阵U ;(2)A 的下三角形矩阵L ; (3) A 的上三角形矩阵U ,但对角元为0;(4)A 的下三角形矩阵L ,但对角元为0;(5) 考察命令U2=triu(A,2)和L2=tril(A,-2)的功能.5 首先将矩阵A 用稀疏矩阵ZA 表示,然后将ZA 表示为满矩阵MA ,其中⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-------=747417417417A .6 用稀疏矩阵和满矩阵分别求解b AX =,进行比较,其中n =2 000,n n A ⨯⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=5325325325325O O O , =b ⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-n n 1321M .习 题4.11. 已知向量()4,3,2,1,1-=X 和矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛---=98754.03.02.01.0432143270A , 求(1)以X 为对角元的对角矩阵DX ;(2)以A 的对角元构成的向量Y ; (3) 以A 的对角元构成的对角矩阵D ;(4)A 的所有特征值lm .2. 从矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛---=98754.03.02.01.0432*******A 中提取如下矩阵:(1)A 的上三角形矩阵UA ;(2)A 的下三角形矩阵LA ;(3) A 的上三角形矩阵U ,但对角元为0;(4)A 的下三角形矩阵L ,但对角元为0; (5) 考察命令U2=triu(A,2)和L2=tril(A,-2)的功能.3. 首先将矩阵A 用稀疏矩阵ZA 表示,然后将ZA 表示为满矩阵MA ,其中⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-------=626216216216A .4. 用稀疏矩阵和满矩阵分别求解b AX =,进行比较,其中n =20 000,n n A ⨯⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=15432215432215432215432215O O O , =b ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n M 21. 5. 通过试验观察MA TLAB 软件处理稀疏矩阵的优势,求解b AX =, 其中n n A ⨯⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=4114114114114O O O ,b 是任意n 维列向量(n 在100以上),用稀疏矩阵和满矩阵两种算法计算,比较所需时间.4.2 雅可比(Jacobi )迭代及其MATLAB 程序表4–41 试用雅可比迭代法解线性方程组⎪⎩⎪⎨⎧=++=++=++,2103,1102,13210321321321x x x x x x x x x 取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,要求当3)()1(10-∞+<-k k x x 时,迭代终止.2 用判别雅可比迭代收敛性的MATLAB 主程序,判别由下列方程组的雅可比迭代产生的序列是否收敛?(1)⎪⎩⎪⎨⎧=+--=-+-=--;2.45,3.8210,2.7210321321321x x x x x x x x x (2)⎪⎩⎪⎨⎧=+--=-+-=--.2.45.0,3.8210,2.7210321321321x x x x x x x x x3 用∞范数和判别雅可比迭代的MATLAB 主程序解例4.2.2 中的方程组,解的精度为0.001,分别取最大迭代次数max1=100,5,初始向量X 0=(0 0 0)T ,并比较它们的收敛速度.习题4.21. 用判别雅可比迭代收敛性的MATLAB 主程序,判别由下列方程组的雅可比迭代产生的序列是否收敛?(1)⎪⎩⎪⎨⎧=+--=-+-=--;2.45,3.8210,7.1223321321321x x x x x x x x x (2)⎪⎩⎪⎨⎧=+--=-+-=--;2.45.0,3.8210,2.7215321321321x x x x x x x x x(3)⎪⎩⎪⎨⎧=+--=-+-=--;2.45,3.8210,2.7210321321321x x x x x x x x x (4)⎪⎩⎪⎨⎧=++=++=++.2053,18252,1432321321321x x x x x x x x x2. 分别用∞范数和判别雅可比迭代的MATLAB 主程序解第1 题中的方程组,解的精度为0.001,分别取最大迭代次数max 1=100,5,初始向量X 0=(0 0 0)T ,并比较它们的收敛速度.3. 设有线性方程组 ⎪⎩⎪⎨⎧=++=++=++.2053,18252,1432321321321x x x x x x x x x(1)用高斯消去法解该方程组;(2)写出用雅可比迭代法解该方程组的迭代公式.4. 试用雅可比迭代法解线性方程组 ⎪⎩⎪⎨⎧=++=++=++.20103,11102,143210321321321x x x x x x x x x 取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,要求当3)()1(10-∞+<-k k x x时,迭代终止.4.3 高斯-塞德尔(Gauss-Seidel )迭代及其MATLAB 程序1 试用高斯-塞德尔迭代法解线性方程组 ⎪⎩⎪⎨⎧=++=++=++,2103,1102,13210321321321x x x x x x x x x取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,要求当3)()1(10-∞+<-k k x x 时,迭代终止.2 用雅可比迭代和高斯-塞德尔迭代计算下列线性方程组,并且比较两种迭代的收敛速度.⎪⎩⎪⎨⎧=++-=+-=++.14103,53102,14310321321321x x x x x x x x x取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,迭代4次终止.并将两种方法的计算结果与精确解()321,,x x x =(1.188 418 …, 1.029 386 …, 0.972 342 …)进行比较.3 用高斯-塞德尔迭代定义的MATLAB 主程序解下列线性方程组,取初始值)0,0,0(),,()0(3)0(2)0(1=xx x ,要求当3)()1(10-∞+<-k k x x 时,迭代终止.(1)⎪⎩⎪⎨⎧=+--=-+-=--.2.45.0,3.8210,2.7210321321321x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧=++--=+-+=-+-=+-+.2132127,11613514,22382,575434321432143214321x x x x x x x x x x x x x x x x 4 输电网络一种大型输电网络可简化为图4-1所示电路,其中R 1, R 2, …, R n 表示负载电阻,r 1, r 2, …,r n 表示线路内阻,设电源电压为V ,(1)列出求各负载上电流I 1, I 2,…,I n 的方程;(2)设R 1=R 2=…=R n =R , r 1=r 2= …=r n =r ,在r =1, R =6, V =18, n =10的情况下求I 1, I 2,…,I n及总电流I 0;(3) 讨论n →∞的情况.习题4.31. 编写雅可比迭代和高斯-塞德尔迭代的程序.2. 用雅可比迭代和高斯-塞德尔迭代解方程组b Ax =(A 如下,b 任意),比较、分析其结果 (包括迭代法收敛或不收敛的原因).;8.241 3.0861.370- 0.682 7.2485.980- 0.384 2.701-9.362)1(⎪⎪⎪⎭⎫ ⎝⎛=A ;1 2 21 112- 21)2(⎪⎪⎪⎭⎫ ⎝⎛=A;21-1-22211-2)3(⎪⎪⎪⎭⎫ ⎝⎛=A (4) A 为n 阶希尔伯特矩阵, n =3~10.3. 用高斯-塞德尔迭代定义的MATLAB 主程序解下列线性方程组(1)⎪⎩⎪⎨⎧=+--=-+-=--.2.45.0,3.8210,2.7211321321321x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧=++--=+-+=-+-=+-+.2132127,11613514,22382,575444321432143214321x x x x x x x x x x x x x x x x取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,要求当5)()1(10-∞+<-k k x x 时,迭代终止.4. 设有线性方程组⎪⎩⎪⎨⎧=++=++=++,273,1282,1329321321321x x x x x x x x x写出用雅可比迭代法和高斯-塞德尔迭代法解该方程组的迭代公式.取初始值)0,0,0(),,()0(3)0(2)0(1=x x x ,求出方程组的近似值,要求当5)()1(10-∞+<-k k x x时,迭代终止.4.4 解方程组的超松弛迭代法及其MATLAB 程序1 当取ω=1.15,5时,判别用超松弛迭代法解下列方程组产生的迭代序列是否收敛?⎪⎪⎩⎪⎪⎨⎧-=+++-=---=+++=--+372364213824254321432143214321x x x x x x x x x x x x x x x x2 在)2,0(内取不同的ω值,用超松弛迭代法解b Ax =,并比较迭代过程收敛的速度的快慢,其中⎪⎪⎩⎪⎪⎨⎧=+---=-+--=--+-=---.14,14,14,144321432143214321x x x x x x x x x x x x x x x x3 用超松弛迭代法(取ω=1.15和5)解例1中的线性方程组.4 在)2,0(内取ω=0.15,0.45,0.75,1.0,1.25,1.5,1.75和=)0(xT)0,0,0,0(,用超松弛迭代法解b Ax =,误差为0.001,并比较迭代过程收敛的速度的快慢,其中⎪⎪⎩⎪⎪⎨⎧=++--=-+--=--+-=---.172,15,15,2254321432143214321x x x x x x x x x x x x x x x x5 分别用雅可比迭代法,高斯-塞德尔迭代法和超松弛迭代法(取ω=1.15)解下面的线性方程组,当5)()1(4110max -+≤≤<-k i k i i x x 似迭代停止. ⎪⎪⎩⎪⎪⎨⎧=+++-=----=+++-=--+.12723,642,6382,2254321432143214321x x x x x x x x x x x x x x x x习 题 4.41. 取ω=1.15,5时,判别用超松弛迭代法解下列方程组产生的迭代序列是否收敛?⎪⎪⎩⎪⎪⎨⎧-=+++-=---=+++=--+.3723,642,1382,4274321432143214321x x x x x x x x x x x x x x x x2. 在)2,0(内取ω=0.75,1.0,1.25,1.5和=)0(x T )0,0,0,0(,用超松弛迭代法解b Ax =,误差为0.001.并比较迭代过程收敛的速度的快慢,其中(1)⎪⎪⎩⎪⎪⎨⎧=++--=-+--=--+-=---.5.2723,159,2152,227354321432143214321x x x x x x x x x x x x x x x x(2)⎪⎪⎩⎪⎪⎨⎧=++--=-+--=--+-=---.172,35,15,2274321432143214321x x x x x x x x x x x x x x x x3. 分别用雅可比迭代法,高斯-塞德尔迭代法和超松弛迭代法(取ω=1.15)解下面的线性方程组,当5)()1(4110max -+≤≤<-k i k i i x x 时迭代停止.⎪⎪⎩⎪⎪⎨⎧=+++-=----=+++-=--+.12723,642,6382,2254321432143214321x x x x x x x x x x x x x x x x4. 水下一浮体M 被两条缆绳ABC 和DEF 固定,浮体受上浮力B ,在B,E 处各挂一重物W , AB (DE )及 BC (EF )与水平线夹角分别为200和100(图4-3).设 B =10 kN,(1)求AB (DE )和BC (EF )段所受张力T 1,T 2及W ;(2) 若要求h =8, d =2, 求AB (DE )和BC (EF )段长度;(3) 如图4-4所示,若缆绳分为AB , BC , CD 三段,与水平线夹角分别为400,300和200,求这三段所受张力及W 1, W 2.图4-3(a ) 第4题 图4-3(b )图4-4(a ) 第4题 图4-4(b )5. 表量程0~1 mA ,内阻55Ω,现用分流器来扩大量程如图4-5所示,当转臂转至图中A ,B ,C ,D 位置时,要求其量程分别为0~10,0~50,0~100,0~500 (mA),确定分流器中各电阻值.CD BAM1 mA 55 ΩR 1 R 2 R 3 R 4图4-5 第5题6. 5根拉杆连接在O 点,在力F 作用下有微小伸长(如图4-6),设伸长后夹角,1EOC AOC ∠=∠=α=2αDOC BOC ∠=∠不变.已l =CO=1000 mm, AB =BC =CD =DE =l/4, F =25 000 N, 拉杆的截面积A =100 mm 2, 杨氏模量E =205 000 N/mm 2, 求CO 杆的伸长及5根拉杆受的张力.(提示:CO 杆的伸长EA lF l OC /=δ)图4-6 第6题7. 种群的数量因繁殖而增加,因自然死亡而减少,对于人工饲养的种群(比如家畜)而言,为了保证稳定的收获,各个年龄的种群数量应维持不变.种群因雌性个体的繁殖而改变,为方便起见以下种群数量均指其中的雌性.种群年龄记作n k ,,2,1Λ=,当年龄k 的种群数量记作k x ,繁殖率记作k b (每个雌性个体一年繁殖的数量),自然存活率记作k s (k s k k d d ,1-=为一年的死亡率),收获量记作k h ,则来年年龄k 的种群数量k x ~应为kk k k k nk k h x s x x b x -==+=∑111~,~ )1,,2,1(-=n k Λ.要求各个年龄的种群数量每年维持不变就是要使 k k x x =~),,2,1(n k Λ=.(1)若k k s b ,已知,给定收获量k h ,建立求各年龄的稳定种群数量k x 的模型(用矩阵、向量表示).(2)设,6.0,4.0,3,5,0,5324143521==========s s s s b b b b b n 如要求k h )5,,2,1(Λ=k 为500,400,200,100,100,求k x )5,,2,1(Λ=k .(3)欲使k h )5,,2,1(Λ=k 均为500,如何达到.A B C D E F 3F 2 F 4= F 2F 1 F 5= F 1OFl 3 l3l ∆。