大学数值计算方法(第3章解线性方程组的数值解法)1
计算方法 第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)
©
追赶法求解公式为:
追赶法算法
用追赶法来求解三对角线性方程组, 计算量只是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消元法求解得 其准确解为
第三章线性代数方程组解法
-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课件
个顺序主子式
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
数值计算方法-线性方程组的解法
= = =
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 的位置,然后进行消 元;
数值分析线性方程组求解的数值方法
记
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
第三章 线性方程组解法
§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.知道产生误差的主要来源。
2.了解绝对误差和绝对误差限、相对误差和相对误差限和有效数字等概念以及它们之间的关系。
3.知道四则运算中的误差传播公式。
实用文档三例题例 1 设x*= =3.1415926⋯近似值 x=3.14 = 0.314× 101,即 m=1,它的绝对误差是- 0.001 592 6 ,⋯有即 n=3,故 x=3.14 有 3 位有效数字 .x=3.14准确到小数点后第 2 位 .又近似值 x=3.1416,它的绝对误差是0.0000074 ⋯,有即 m=1,n= 5, x=3.1416 有 5 位有效数字 .而近似值x=3.1415,它的绝对误差是0.0000926 ⋯,有即 m=1,n= 4, x=3.1415 有 4 位有效数字 .这就是说某数有s 位数,若末位数字是四舍五入得到的,那么该数有s 位有效数字;例 2指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:2.000 4-0.002 009 0009 000.00解因为 x1=2.000 4= 0.200 04× 101, 它的绝对误差限 0.000 05=0.5 × 10 1―5,即m=1,n=5, 故 x=2.000 4 有 5 位有效数字 . a1=2,相对误差限x2=- 0.002 00,绝对误差限0.000 005,因为 m=-2,n=3 ,x2=- 0.002 00 有 3 位有效数字 . a1=2 ,相对误差限r ==0.002 5实用文档x3=9 000 ,绝对误差限为0.5× 100,因为 m=4, n=4, x3=9 000 有 4 位有效数字, a=9 ,相对误差限r== 0.000 056x4=9 000.00 ,绝对误差限0.005,因为 m=4, n=6, x4=9 000.00 有 6 位有效数字,相对误差限为r== 0.000 000 56由 x3与 x4可以看到小数点之后的0,不是可有可无的,它是有实际意义的.例 3 ln2=0.69314718⋯,精确到10-3的近似值是多少?解精确到 10-3= 0.001,意旨两个近似值x1,x2满足,由于近似值都是四舍五入得到的,要求满足,近似值的绝对误差限应是=0.0005,故至少要保留小数点后三位才可以。
线性代数方程组的数值解法
a (1) 1n 1
a (2) 2n 1
a
(1) 3n 1
a (1) nn 1
1
0
0
0
a (1) 12 1 0
0
a (1) 13
a (2) 23
a (1) 1n 1
a (2) 2n 1
记为
a (2) 33
a
(2) 3n 1
(A(2) , b(2))
a (2) n3
a
(2) nn 1
(1) 22
,
然
后用第i行元数(i
3,
,
n)减去第二行对应元素的a
(1) i2
倍,(i 2,, n),这样,a(212)位置变为1,从第三行后的各
行第二个元素为0。
1 0 0 0
a (1) 12 1
a (1) 32
a (1) n2
a (1) 13
a (2) 23
a (1) 33
a (1) n3
2
(A
|
b)
4
1 2
3 5
1 1
4
0
1 2 4
3
2 1
1
2 2
2 0 1 6
0 1 1 5
1 0
1 3 22
1 1
1
2 1
4 2
0 0 1 6
这样就将系数阵化为单位三角阵,这个过程称为“消元 过程”。二是解三角形方程组,称为“回代过程”,整个过程 称为“有回代过程的顺序消元法”。
,
x
x2 xn
,
b
bபைடு நூலகம் bn
求解向量 x。
数值解法主要有两大类: 第一类是直接法。即按求精确解的方法运算求解。 第二类是迭代法。其思想是首先把线性方程组(3-1)等价 变换为如下形式的方程组:
计算方法线性方程组数值解法
d
2
a3b3c3
x3
d3
an
1bn1cn
1
xn
1
d
n
1
anbn xn dn
其系数矩阵为三对角形,元素满足以下条件:
|b1|>|c1|>0
|bi|≥|ai|+|ci|,且aici≠0 i=2,3,……n-1; |bn|≥|an|>0。
可以采用追赶法求解
4
线性代数方面的计算方法就是研究求解线 性方程组的一些数值解法与研究计算矩阵 的特征值及特征向量的数值方法。
5
设有线性方程组
a11x1 a12x2 a1nxn b1 a21x1a22x2a2nxnb2 an1x1 an2x2 annxn bn
式中,aij,bi为已知常数,xi为待求的未知量。记
u
2
2
u 2 n
u n 1,n 1u n 1,n
u n n
10
若uii≠0(i=1,2,……n),则由下至上依次回代得
xn yn / unn
xn1 ( yn1 xi yi
un1,n xn ) / un1,n1
n
uij x j ) / uii
0
a
( 2
2 2
)
a
( 2
2) ,k 1
a
( 2
2) ,k
a
( 2
2) ,n
a
( 2
2) ,n 1
0 A(k)
0 0
a
( k
k) ,k
a
( k
k) ,k 1
a
k
k ,n
a
( k
k) 1,n
1
数值计算课堂提问(含参考答案)
数值计算课堂提问(含参考答案)课堂提问及参考答案第1章误差与误差分析1、在数值计算⽅法中,误差是如何分类的?答:误差按照来源可以分为4类:模型误差、观测误差、截断误差和舍⼊误差。
其中,在本门课程中,前两种误差可称为固有误差,⽆法避免和改变;后两种误差可称为计算误差,是本门课程分析和研究的重点。
另外,按照误差产⽣的过程,也分为过失误差和传播误差。
2、求解⽅程x^2-56x+1=0的根。
(已知根号783约为27.982。
)答:根据⼆项式的求根公式可得783282456562422±=-±=-±-=a ac b b x即982.55982.2728783281=+≈+=x为避免相近数相减,从⽽丧失⼤量的有效数字,另⼀个根的计算可写成如下形式:017863.0982.551982.27281783281783282≈=+≈+=-=x第2章⾮线性⽅程的数值解法1、证明1-x-sin(x)=0在区间[0,1]内有⼀个根,若使⽤⼆分法求误差不⼤于 0.5*10^(-4)的根要⼆分多少次?若取)sin(1)(x x -=?,能否⽤不动点迭代法求根?答:令f(x)= 1-x-sin(x),显见f(x)为连续函数。
f'(x)=-1-cos(x),当x 在区间[0,1]时,0f(0)=1>0,f(1)=-sin(1)<0,即f(0)*f(1)<0,可得区间[0,1]内有且只有⼀个实根。
根据题意:a=0,b=1,ε=0.5*10^(-4)由公式(2.4):2 ln 2ln )ln(ε-->a b k 可得3.132ln 10ln 42ln 10ln 1ln 4≈=->-k ,取k=14,即需要⼆分14次。
取迭代公式)sin(1)(x x -=?,则1)1sin(1)1(,1)0sin(1)0(<-==-=??,即当x 在区间(0,1]时,]1,0[)(?x ?,1cos )('<=x x ?根据定理2.4(p23),该迭代公式在取迭代初值在(0,1]时,收敛,可求出根。
线性方程组求解的数值方法52614共103页文档
(1)
an1x1 an2 x2 L ann xn bn
系数矩阵
a11 a12 L
A
a
21
a22
L
L L L
a
n1
an2
L
a1n
a
2
n
,
L
a
nn
x1
x
x
2
,
L
x
n
b1
b
b
2
。
L
b
n
5
若记 则(1)可写为
A=A (1)(ai(j1)),bb(1),
A(1)xb(1)
ai(jk1)
a(k) ij
mij
a(k kj
)
i k 1,L ,n
j
k 1,L
, n
bi(k1)
b(k) j
mikbk(k) (i
k 1,L
, n)
n 1
除法: (n k )次 k 1
n1 乘法:(nk)(nk)2次 k1
乘除法: k n 1 1 2 (n k) (n k)2 1 6(2 n 3 3 n 2 5 n )n 3 3,
3
=
说明:整个计算过程可分为两部分: 1. 消元:把原方程组转化为系数矩阵为上三角矩阵的 方程组; 2. 回代:由系数矩阵为上三角矩阵的方程组求解
4
一般情形: n阶线性方程组的高斯消元法
a11x1 a12 x2 L a1n xn b1
aM21x1
a22 x2 M
L M
a2n xn b2 M
(n-k)2次乘法
i,jk1,L,n (n-k)次乘法
A(k+1)与A(k) 前 k 行元素相同,A(k+1)左上角为上三角阵
数值计算方法第三章 线性方程组迭代法
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
第三章线性方程组的数值解法
主元素所在的行称为主行。
高斯消去法的计算步骤为:
1〉消元过程
设 a 0 ,对 k 1,2,, n 1 ,计算
k kk
2〉回代过程
bnn xn n ann n , i bi aiji x j j i 1 xi aiii
结果与准确解非常接近。这个例子告诉我们,在采用高 斯消元法解方程组时,用做除法的小主元素可能使舍入 误差增加,主元素的绝对值越小,则舍入误差影响越大。 固应避免采用绝对值小的主元素,同时选主元素尽量的 大,可使该法具有较好的数值稳定性。
为避免上述问题,可在每一次消元之前增加一 个选主元的过程,将绝对值大的元素交换到主对角 线的位置。根据交换的方法可分成全选主元和列选 主元两种方法。
a11
1 2 a 22
Hale Waihona Puke a121 2 a 23
k a kk k a nk
A
k
a1n a 22 n k a kn k a nn
1 ai1 mi 1 1 , i 2,3,, n a11
用 mi1 乘以第1个方程,加到第 i 个方程,消去
第 2个方程到第 n个方程的未知数x1 ,得 A2 x b2
即:
1 a11 1 a12 a11 x1 b11 n 2 2 2 a 22 a 2 n x 2 b2 2 2 2 a n 2 a nn x n bn
写成矩阵-向量形式
Ax b
其中 A 为系数矩阵,x 为解向量,b 为右端常向量。
数值计算方法(第3章解线性方程组的数值解法).ppt
1
引言
在自然科学和工程技术中很多问题的解决 常常归结为解线性代数方程组。例如电学中的 网络问题,船体数学放样中建立三次样条函数 问题,用最小二乘法求实验数据的曲线拟合问 题,解非线性方程组问题,用差分法或者有限 元法解常微分方程,偏微分方程边值问题等都 导致求解线性方程组,而且后面几种情况常常 归结为求解大型线性方程组。 线性代数方面的计算方法就是研究求解线 性方程组的一些数值解法与研究计算矩阵的特 征值及特征向量的数值方法。
17
高斯顺序消去法
a a la
( 2 ) ij ( 1 ) ij ( 1 ) i 11 j
( 1 ) ( 1 ) a a i 1 1 j ( 1 ) a ij ( 1 ) a 11
2
引言
关于线性方程组的数值解法一般有两类。
直接法:经过有限步算术运算,可求得方程 组的精确解的方法(若在计算过程中没有舍 入误差) 迭代法:用某种极限过程去逐步逼近线性方 程组精确解的方法
迭代法具有占存储单元少,程序设计简单,原 始系数矩阵在迭代过程中不变等优点,但存在收敛 性及收敛速度等问题。
(1)
10
高斯顺序消元法
由(1)得
b1 x1 l11 x 2 ( b 2 l 21 x 1 ) / l 22 ...... n 1 x (b l ni x i ) / l nn n n i 1
x 1 b 1 /l 11 i 1 即 : i 2 ,3 ,..., n x ( b l x ) / l i i ij j ii j 1 该法称为向前代入法。
12
j 1, 2 , , i ) ;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最后
(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