大学数值计算方法(第3章解线性方程组的数值解法)1


最后
(1 a11) (n) (n) [ A b ] (1 a12)
... ...
... ... ... ... ...
... a1(1) n
( ... a22 ) n
(2 a22) ...
. akn )
(1) (2) (4)
例题

第二步:1 x(2)+(4)
x x x 6 1 2 3 4 x2 x3 5 2 x3 6 (1) (2) (5)

回代得:x=[1,2,3]T
3.1.1 高斯顺序消元法

下三角形方程求解 设
b1 l11x1 l x l x b2 21 1 22 2 ...... ln1 x1 ln 2 x2 ... lnn xn bn 其中,lii 0, i 1,2,..., n
n 1
高斯顺序消去法条件
(1 (2 (n det(A) a11) a22) ...ann) 0
det(A) : 1 即 (k det(A) : det(A) * akk ) k 1,2,..., n 因此高斯顺序消去法要求
(k akk ) 0, k 1,2,..., n
Di Gramer法则:xi i 1,2,..., n,其中 D D det(A) 0,Di det(Ai ),Ai是 A的第 i列用b代替所得。

克莱姆法则在理论上有着重大意义,但 在实际应用中存在很大的困难,在线性 代数中,为解决这一困难给出了高斯消 元法。
例题

例1.用消元法解方程组
则有
( ( ( aijk 1) aijk ) lik akjk ) , i k 1,..., n; j k 1,..., n
bi( k 1) bi( k ) lik bk( k ) , i k 1,..., n k 1,2,..., n 1
高斯顺序消去法

简记 AX=b
高斯消元法

其中
a11 a12 a 21 a22 A a n1 a n 2 a1n a2 n (aij ) nn ann
T T
x x
1
x2 xn , b b1 b2 bn
高斯消元法
引言

关于线性方程组的数值解法一般有两类。


直接法:经过有限步算术运算,可求得方程 组的精确解的方法(若在计算过程中没有舍 入误差) 迭代法:用某种极限过程去逐步逼近线性方 程组精确解的方法 迭代法具有占存储单元少,程序设计简单, 原始系数矩阵在迭代过程中不变等优点,但 存在收敛性及收敛速度等问题
高斯顺序消去法

设第k-1次消元得A(k)x=b(k) 其中
(1 a12)
(1 a11) (k ) (k ) [ A b ]
... ...
... ... ... ...
... a1(1) n
( ... a22 ) n
(2 a22) ...
... ...
... ...
(1)
高斯顺序消元法

由(1)得
b x1 1 l11 x2 (b2 l 21 x1 ) / l 22 ...... n 1 x (b lni xi ) / lnn n n i 1 即 x1 b1 / l11 i 1 x (b lij x j ) / lii i i j 1 i 2,3,..., n 该法称为向前代入法。
3.1 高斯消元法

设线性方程组
a11x1 a12 x2 ...... a1n xn b1 a x a x ...... a x b 21 1 22 2 2n n 2 ...... an1 x1 an 2 x2 ...... ann xn bn
( 2)

由(2)式回代得
i n 1,... 2 ,1
xn bn /unn n x (b 1uij x j )/uii i i j i
上三角方程组的解法
(2) 式可简写成 Ux b,其中
u11 u12 u1n u 22 u 2 n U u nn
(n xn b ( n ) / ann) n x (b ( i ) ( ( aiji ) .x j ) / aiii ) 1 i i j i
A ( n) x b( n )
(i n 1,...,1)
高斯顺序消去法
(1)输入:aij (i, j 1,2,..., n), bi (i 1,2,..., n) (2)对k 1,2,..., n 1, 做 1)if a kk 0 then 输出算法失败信息,停机;
x1 x2 x3 6 4 x2 x3 5 2 x1 2 x2 x3 1 (1) ( 2) (3)
例题

第一步:-2 x(1)+(3)得
x x x 6 1 2 3 4 x2 x3 5 4 x2 x3 11
高斯顺序消元法

算法:
1、赋初值lij , bi (i 1,2, , n 2、x1 b1 / l11 3、For i2 s 0; For j 1 to i 1 do s s lij x j ; xi (bi s ) / lii ; to n do j 1,2, , i ) ;
... a1(1) n
( ... a22 ) n
(2 a22) ...
... ...
... ...
(k (k akk ) ... akn )
(n ... ann)
b1(1) ( 2) b2 ... (k ) bk ... (n) bn
高斯顺序消去法
再解 回代法
高斯顺序消元法
(1) 式可简写成 l11 l A 21 ln1 Lx b,其中 lnn
l22 ln 2
上三角方程组的解法 设

u11 x1 u12 x2 ...... u1n xn b1 u 22 x2 ...... u 2 n xn b2 ...... u nn xn bn 其中,uii 0 ,i 1,2 ,...,n
(n ... ann)
b1(1) ( 2) b2 ... (k ) bk ... (n) bn
高斯顺序消去法

也就是对于方程组AX=b系数矩阵做:
( (k lik aikk ) / akk ) ( k 1) (k ) (k ) aij aij lik akj b ( k 1) b ( k ) b ( k )l i k ik i
高斯顺序消去法算法框图
高斯消去法的计算量
( (k 第k步 : lik aikk ) / akk ) (i k 1,..., n)
即n k次除法除法 由A( k ) A( k 1)需(n k )( n k 1)次乘法 故总的消元计算量为: 1 [(n k ) (n k )(n k 1)] 6 n(n 1)(2n 5) k 1 1 (n) (n) 解A X b 回代时乘除运算量为 n(n 1) 2 1 即总计算量为N n(n 2 3n 1) 3
高斯顺序消去法
( ( aij2 ) aij1) li1a1(1j) ( aij1) 1 ai(1 ) a1(1j)
a
(1) 11
(i 2,..., n; j 2,..., n)
bi( 2 ) bi(1) b1(1)li1
1 ai(1 ) (1) bi(1) (1) .b1 (i 2,..., n) a11
也就是次算法的缺点 .
(k 若akk ) 0, 很小 (k 此时, 用akk ) 做除数易产生解的失真,
即数值不稳定.
3.1.2 高斯主元素消去法

Gauss列主元消元法 从第一列中选出绝对值最大的元素
a11 a12 ...... a1n b1 a a 22 ...... a11 b2 21 ...... ...... ...... ...... ...... ai1 ai 2 ...... ain bi ...... ...... ...... ...... ...... a n1 a n 2 ...... a nn bn
i k 1,..., n j k 1,..., n
(k 1,2,..., n 1)
高斯顺序消去法
得到 A ( n ) x b( n ) 其中
(1 a11) ( n) (n) [ A b ] (1 a12)
... ...
... ... ... ... ...
bn x n bn / a nn;
2)对i n 1,..., 2,1做 bi xi (bi
j i 1
a
n
ij
x j ) / aii;
3)det( A) a11a 22 ...a nn; (4)输出:方程组的解xi (i 1,2,..., n), 系数矩阵A的行列式的值 det(A)
(k (k akk ) ... akn )
(k (k ank ) ... ann)
b1(1) ( 2) b2 ... (k ) bk ... (k ) bn
高斯顺序消去法
则第k次消元:
( aikk ) 令lik ( k ) , i k 1,..., n ak
合集下载

计算方法 第3章 线性方程组数值解法

计算方法 第3章 线性方程组数值解法

第三章线性方程组的数值解法线性方程组是应用最为广泛的数学模型,很多复杂问题中都含有线性方程组子问题,因此讨论线性方程组问题的求解很有必要,本章将讨论线性方程组的数值解法。

线性方程组的一般形式:⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++n nnn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212111212111 (3.1)如果记:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=n n nn n n n n b b b b x x x x a a a a a a a a a A 2121212222111211,,这里A 称为系数矩阵,x 称为解向量,b 称为右端项,则得线性方程组的矩阵形式: b Ax = (3.2)求解线性方程组问题(3.1)或(3.2)的数值方法可分为两类:直接解法和迭代解法,其直接解法是通过有限次初等运算,求得其解,虽然直接解法的推导过程都是无误差的,但是由于计算机的运算都是有舍入误差的,所求解其实是一个有误差的近似解;迭代解法则是从某个初始近似解出发,按照一个确定的迭代公式得到一个更好的近似解,反复迭代,直到求得一个满足精度要求的近似解。

本章首先讨论线性方程组的直接解法然后再介绍迭代解法。

3.1 消去法1. 顺序Gauss 消去法首先回顾一下线性代数中所讲的线性方程组消去法过程,然后归纳出消去法的数值算法,请看如下的例子:例3.1 求解线性方程组⎪⎩⎪⎨⎧=-+=+-=-+224056242321321321x x x x x x x x x解:求解线性方程组的第一阶段称为消元过程,其方法是:第2个方程减去第1个方程的21倍,第3个方程减去第1个方程的2倍,得 ⎪⎩⎪⎨⎧-=+--=+-=-+102736362423232321x x x x x x x 第3个方程减去第2个方程的37倍,得 ⎪⎩⎪⎨⎧-=--=+-=-+3123636242332321x x x x x x 这一过程就是消元过程,即把方程化为等价的上三角方程(对角线下变为0)。

第三章线性方程组数值解法

第三章线性方程组数值解法

a 11 Di xi , D det( A ), D i det D a n1

a 1i 1
b1 bn
a1i 1 a ni 1


a ni 1

a1 n a nn
第3章
线性方程组的数值解法
但Gram法则不能用于计算方程组的解,如n=100,1033次/秒的计算机要算10120年
所以,Gauss消元法的可行条件为: a ( k ) 0 kk
《 计 算 方 法 与 实 习 》
因此,有些有解的问题,不能用Gauss消元求解
另外,如果某个 a kk
(k )
很小的话,会引入大的误差
第3章
线性方程组的数值解法
高斯主元素消元法是消去法的一种改进。它的基
本思想是在逐次消元时总是选绝对值最大的元素(称之 为主元)做除数,按消元法的步骤消元。
《 n次运算 ① 计 算 方 A diag ( a , a , , a ) x b i , i 1, , n 11 22 nn i 法 a ii 与 实② (n+1)n/2次运算 习 i 1 》 l11
l 21 A l n1
l 22 ln 2 l nn
《 解线性方程组的方法可以分为2类: 计 ①直接法:准确,可靠,理论上得到的解是精确的,但由于计算中有舍入误差,故 算 得到的也是近似解. 方 法 ②迭代法:速度快,但有误差(雅可比迭代法、高斯—赛得尔迭代法) 与 实 习 》
第3章
线性方程组的数值解法
3.2 消元法
我们知道,下面有3种方程的解我们可以直接求出:
运算量: (n-2)*(1+n-1)=(n-2)n

数值分析第三章线性方程组解法

数值分析第三章线性方程组解法

数值分析第三章线性方程组解法在数值分析中,线性方程组解法是一个重要的主题。

线性方程组是由一组线性方程组成的方程组,其中未知数的次数只为一次。

线性方程组的解法包括直接解法和迭代解法两种方法。

一、直接解法1.1矩阵消元法矩阵消元法是求解线性方程组的一种常用方法。

这种方法将方程组转化为上三角矩阵,然后通过回代求解得到方程组的解。

1.2LU分解法LU分解法是将系数矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积,然后通过解两个三角方程组求解线性方程组。

这种方法可以减少计算量,提高计算效率。

1.3 Cholesky分解法Cholesky分解法是对称正定矩阵进行分解的一种方法。

它将系数矩阵A分解为一个下三角矩阵L和它的转置的乘积,然后通过解两个三角方程组求解线性方程组。

Cholesky分解法适用于对称正定矩阵的求解,具有较高的精度和稳定性。

二、迭代解法2.1 Jacobi迭代法Jacobi迭代法是一种迭代求解线性方程组的方法。

它通过分解系数矩阵A为一个对角矩阵D和一个余项矩阵R,然后通过迭代更新未知数的值,直至达到一定精度要求为止。

Jacobi迭代法简单易懂,容易实现,但收敛速度较慢。

2.2 Gauss-Seidel迭代法Gauss-Seidel迭代法是一种改进的Jacobi迭代法。

它通过使用新计算出的未知数值代替旧的未知数值,达到加快收敛速度的目的。

Gauss-Seidel迭代法是一种逐步逼近法,每次更新的未知数值都会被用于下一次的计算,因此收敛速度较快。

2.3SOR迭代法SOR迭代法是一种相对于Jacobi和Gauss-Seidel迭代法更加快速的方法。

它引入了一个松弛因子,可以根据迭代的结果动态地调整未知数的值。

SOR迭代法在理论上可以收敛到线性方程组的解,而且收敛速度相对较快。

三、总结线性方程组解法是数值分析中的一个重要内容。

直接解法包括矩阵消元法、LU分解法和Cholesky分解法,可以得到线性方程组的精确解。

数值分析-北交大-王兵团-3-线性方程组解法 (1)

数值分析-北交大-王兵团-3-线性方程组解法 (1)

©
追赶法求解公式为:
追赶法算法
用追赶法来求解三对角线性方程组, 计算量只是5n-4,这比Gauss消元法的计算 量要小很多。
©
第3章 线性方程组解法
§3.5 线性方程组解对系数的敏感性
©
1、解对系数敏感性的相对误差 设方程组Ax=b的解为
扰动方程组的准确解为

©
用上述过程求解 的方法称为追赶法解法。
©
定理3.7
Sor法收敛的必要条件是松弛因子满足0<<2 证明
©
2、误差估计 定理3.8 设矩阵B的某种矩阵范数
证明参照非线性方程求根定理的证明, 将:绝对值换成范数、函数换成矩阵,注意范数关系 的使用,
©
例3.1 用Jacobi 迭代法解线性方程组 解
Jacobi迭代收敛!
故所求近似解为 准确解:
©
第3章 线性方程组解法
§3.4 线性方程组的直接解法
©
一、Gauss消元法 1、基本思想 先将线性方程组通过消元方法化为同解的上三角
方程组,然后从该三角方程组中按第n个方程、第n1个方程、…、第1个方程的顺序,逐步回代求出线 性方程组的解。
2、构造原理 Gauss消元法的求解过程分为两个: “消元”:把原方程组化为上三角方程组; “回代”:求上三角方程组的解。
©
计算量
©
2)Gauss消元法矩阵解释 第1步消元
第n-1步消元后,有
©
L是下三角阵,U是上 三角阵。
A=D-L-U ?
例:研究线性方程组
的Gauss消元法求解结果,假设计算在4位浮点十进 制数的计算机上求解。
解:
用Gauss消元法得
©
用Gauss消元法求解得 其准确解为

第三章线性代数方程组解法

第三章线性代数方程组解法
x2 - 3x3 = 1 (2)
-19x2 + 30x3 = -10 (3) 第二次消元: (2) × (-(-19)/1)+(3) 得
2x1 + 6x2 - 4x3 = 4 (1)
x2 - 3x3 = 1 (2)
- 27x3 = 9 (3) b. 回代过程
x3 = 9/(-27) = -1/3, x2 = 1 + 3x3 = 1-1= 0, x1 = (4 + 4x3 + 6x2 )/2= (4+4×(-1/3)+6×0)/2 = 4/3
Xi=Di/D ( i=1, 2 , … , n ) 然而,对于较高阶的情况, 用这种方法求解是不现实的。一
个 n 阶行列式有 n! 项, 每一项又是 n 个数的乘积。就算不计舍
入误差对计算结果的影响 , 对较大的 n , 其运算量之大 [ 不考
虑加减,仅乘除次数就需 (n+1) n! (n-1) +n ] , 也是计算机在一般
一、列主元高斯消去法
列主元消去法的主要思想是:在第k次消元 时,从k列的以下的各个元素中选出绝对值最大 的元素,然后通过行交换将其交换到k行上,再 做第k次消元(同顺序高斯消去法);回代过程 与顺序高斯消去法完全相同。
用列主元高斯消去法解线性方程组举例

0.01x1 + 2x2 - 0.5x3 = - 5
n
xi (bi(i)
ai(ji)xj
)
/
a(i) ii
ji1
(i =n-1,…,2,1)
四、顺序高斯消去法计算量分析
用计算机作四则运算时,加减操作所花的机器时间比乘除操 作少得多, 所以我们仅统计乘除次数。

数值计算方法-第3章--线性方程组的解法PPT课件

数值计算方法-第3章--线性方程组的解法PPT课件

个顺序主子式
a a (1)
(1)
11
12
Dk
a(1) 21
a(1) 22
a(1) 1k
a(1) 2k
0
(k 1, 2,..., n 1).
a a (1)
(1)
k1
k2
a(1) kk
.
13
顺序Gauss消去法计算过程中的 akk(k) 称为主元素,在 第k步消元时要用它作除数,则可能会出现以下几种情况
.
是原方程组 Ax=b 的解向量。
27
对于
Ly =b
1

l21
1
l31
l32 1
y1 b1
y2
b2
y3
b3
ln1 ln2 lnn1 1 yn bn
.
解得
y1 yk
b1 bk
k 1 i 1
lki
yi
,
k 2,3,, n
28
对于 Ux =y
u11 u12 u1n x1 y1
2x3 6

x1 6 (x2 x3 ) 1
x2 x3 5 / 4 2
x3 (6) / (2) 3
用x3, x2的值求x1 把x3的值代入②求x2
.
8
从下向上逐步求解
对应的增广矩阵的变化
1 1 1 6 1 1 1 6
( A | b) 0
4
1 5 0
4
1
5
2 2 1 1 0 4 1 11
0.8334
5.910
12.10
0.0120 0.0100 0.1670 0.6781
3200
1200
4.200 981.0

第三章基本数值计算方法一


1.0000 0 0 -1.6757 1.0676
U0
0 1.0000
0
-1.8378
-1.2162
,
0 0 1.0000 0.9820 0.3018
0
0
0
0
0
这个最简行阶梯形式说明原 来的方程组是欠定的。
欠定方程组解的特点
它等价于下列方程组:
x1
-1.6757 x4 = 1.0676
1
0
3
0
0
(柠檬酸)x1
1 1
,(小苏打)x2
8 6
(, 碳酸钠)x3
0 6
,
(水)x4
2 0
,
(二氧化碳)x5
0 1
,
3
8
7
1
2
• 按四种元素左右平衡列出四个方程,得:
1 0 3 0 0 0
1
1
x1
8
6
x2
0 6
x3
2 0
x4
0 1
x5
0 0
Ax
=
b
=
0
3
8
7
1
2
0
化学方程配平程序
X4 = 8.66
为什么要提出这种新的计算方法?
把上例中第四个方程改为:
4x1 + 2x2 + 7x3 -778/222 x4 877 / 222
,求其解。
解:输入新参数
A=[6,1,6,-6;1,-1,9,9;-2,4,0,4;4,2,7,-778/222];
b=[7;5;-7;877/222]; 键入U=rref([A,b]),得到
4x1 + 2x2 + 7x3 -5x4 9

数值计算方法-线性方程组的解法

(2) a32
= = =
b(1) 1 , b(2) 2 , b(2) 3 .
)
(2) a22 = = = = = = = = = = = = = = = =⇒
9
顺序消去法
(2) 设 a22 ̸= 0,
(1) (1) (1) a11 x1 + a12 x2 + a13 x3 (2) (2) a22 x2 + a23 x3 (2) (2) x3 a32 x2 + a33 ( (3) + (2) × −

18
列主元消去法
列主元消去法 for k = 1 , 2 , · · · , n -1 (k) (k ) find ik ∈ k, · · · , n s . t . |ai | = maxk≤i≤n |aik |; k ,k interchange the k, ik - th rows in [A(k) , b(k) ] ; for i = k +1 , · · · , n
(k) (k) lik = aik / akk ;
for j = k +1 , · · · , n +1
(k+1) (k) (k ) aij = aij − lik · akj ;
end end end
19
高斯消去法
全主元消去法
全主元消去法
定义 1.4: 全主元消去法 全主元消去法选主元的范围更大,对于 A(1) | b(1) 来说,在整个 系数矩阵中选主元,即将绝对值最大的元素经过行列变换使其置 ( ) (1) 于 a11 的位置,然后进行消元过程得到 A(2) | b(2) ; 接下来在该矩阵中划掉第一行第一列后剩余的 n − 1 阶子系数矩 (2) 阵中选主元,并通过行、列交换置其于 a22 的位置,然后进行消 元;

数值分析线性方程组求解的数值方法

1 1 m k 1, k m n ,k 1 , 1

Lk
1
k 1, 2 , , n 1
m ik
a ik
(k ) (k )
, ( i , j k 1, k 2 , , n )
用 4 位浮点数计算精确解, 然后舍入到 4 位有效数字, 解出原方程的组的解为: (MATLAB 求解程序如下) A=[0.001 2.0 3.0;-1 3.712 4.623;-2 1.072 5.643]; >> b=[1 2 3]'; >> X=A\b
x1 0.4904 , x2 0.05104 , x3 0.3675 ,
a r i m r k u r i m rk u k i u ri , 有 :
k 1 r 1 k 1
n
r1
u r i a r i m r k u k i , i r , r 1, , n ) (
k 1 r 1
a i r m ik u k r
比较得知,用高斯消元法求解结果误差较大,不能作 为原方程组的近似解,其原因就是在消元过程中使用了小 主元 0.001,至使方程组的系数数量级增加,使误差扩散。
避免方法:高斯主元消元法
高斯主元消去法的MATLAB实现
程 序 8- 2 用 高 斯 列 主 元 消 去 法 求 解 线 性 方 程 组 AX b , 首 先 将 矩 阵 A 化 为上三角矩阵,再执行回代过程。
用回代法求解上三角线性方程组AX=B,其中A为非奇异。
function X=backsub(A,b) %A是一个n阶上三角非奇异阵。 %b是一个n维向量。 %X是线性方程组AX=b的解。 n=length(b); X=zeros(n,1); X(n)=b(n)/A(n,n); for k=n-1:-1:1 X(k)=(b(k)-A(k,k+1:n)*X(k+1:n))/A(k,k); End

第三章 线性方程组解法

可以看出,在计算第i个xik+1分量时,前 面i-1个分量x1k+1, x2k+1… xi-1k+1已经从上式 中计算出来了,于是很自然会想到如果 把它们代入用来计算xik+1可能会改进迭代, 于是就得到Ga大u家s好s-Seidel迭代格式: 35
§3.3 高斯-塞德尔迭代
x ik 1a 1 ii(b iij 1 1a ijxk j 1j n i 1a ijxk j),i 1 ,2 ...,n
大家好
21
§3.1 问题的提出
由原方程
8x1 x2 4 x1 10 x2
2x3 12 x3 21
3x1 2x2 5x3 16
构造
xx12((kk11))
2.5x2(k) 0.25x3(k) 1.5x1(k) 2.5x3(k)
5.25 8.0
(2) (3)
x3(k1) 4x1(k) 0.5x2(k) 6.0
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
大家好
16
§3.1 问题的提出
例3.1
5x 2y 8 3x 20 y 26
5) 给出估计误差和迭代停止判据。
大家好
25
§3.1 问题的提出
❖ 定义:在n维空间中给定一个向量序
列 x k ,xk (x1 k,x2 k,...xn k)T ,如果对每一个分

x
k i
,当
k
时都有极限xi,

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