线性方程组的数值解法详解演示文稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、不选主元三角分解算法 当A非奇异时,可以将A作LU分解:
1 0
0 u11 u12 u1n
A
LU
l21
1
0
0
u22
,
ln1 ln,n1 1 0 0 unn
其中:(矩阵LU分解)
(1) u1 j a1 j (i 1,2,,n), li1 ai1 / u11(i 2,,n),
(2) 对k 2,,n,计算
k 1 (i) ukj akj lks usj ( j k,, n),
s 1
k 1 (ii) lik (aik lis usk ) / ukk (i k 1,, n, k n).
s 1
于是,可以通过求解两个三角形方程组
Ly b, Ux y,
得到原方程组的解。
即消去第2至第n个方程中的未知数x1
第二步:若 a2(22) 0, 用… …. ……
百度文库
第k步:若 ak(kk) 0, 用 mik ai(kk) / ak(kk) 乘第k行加到第i行 中,得到
a1(11)
a1(1k)
ak(kk ) 0
0
a1(1k)1
ak(kk
) 1
ak(k11k)1
(i) aik mik aik / akk (ii) 对于j k 1,, n
aij aij mik akj. 2.回代:对于i n,,1,
(1) xi bi , (2) 对于j i 1,, n
xi xi aij x j ,
(3) xi xi / aii.
乘除法运算工作量
第k步消元:mik
1
0 0
1
2,y
2 ,
x
0
.
1 1 1 0 0 1
1 1
§3 解线性方程组的迭代法
考虑线性方程组
a11x1 a12x2 a1nxn b1
a21x1
a22x2
a2n xn
b2
an1x1 an2x2 annxn bn
也就是
Ax=b.
进行矩阵分裂
A=M-N,
(2.1) (2.2)
其中M为可选择的非奇异矩阵,且使Mx=d容易求解.
于是,
Ax=b⇔x=M-1Nx+M-1b.
线性方程组的数值解法详解演 示文稿
(优选)线性方程组的数值解 法
三、线性方程组的两类解法
直接法 迭代法
四、本讲内容安排
解线性方程组的直接方法
高斯消去法
√
高斯主元素消去法
矩阵三角分解法
√
解线性方程组的迭代法
雅可比迭代法
√
高斯-赛德尔迭代法
√
逐次超松弛迭代法
Matlab与线性方程组求解
x1 x2
xn
bb12((12)) bn(n)
.
若 an(nn) 0, 则
xn bn(n) an(nn)
xk
bk(
k
)
j
n
k
ak(kj )x 1
j
ak(kk) , (k n 1,,1)
说明:若线性方程组的系数矩阵非奇异,则它总可以通 过带行交换的高斯消去法进行求解。
定理5 (1) ak(kk) 0, k 1,2,, n, 可以通过高斯消去法求解。 (2)系数矩阵非奇异,总可以通过带行交换的高斯消去法进
行求解。
算法归纳:若ak(kk) 0, k 1,2,, n,A(k)覆盖A, mik覆盖aik .
1.消去:对于k 1,2,,n,
(1) 若akk 0,则停止计算. (2) 对于i k 1,, n
其中
a1(11)
0
0
a1(12) a2(22)
an(22)
a1(1n) a2(2n)
an(2n)
x1 x2
xn
bb12((12)) bn(2)
.
ai(j2) ai(j1) mi1 a1(1j), (i, j 2,3,, n)
bi(2) bi(1) mi1 b1(1) , (i 2,3,, n)
n
非行零交判换断的次元数素最个多数为为::kn1(1nnk1()n12kn)(n
k 1
1)
1 2
n(n
1)
二、矩阵三角分解法
设有线性方程组:AX=b
a11 a12 a1n
x1
b1
A
a21
a22
a2
n
,
X
x2
,
b
b2
.
an1 an2 ann
xn
bn
矩阵三角分解法包括不选主元和选主元两种方法。
求解线性方程组的计算公式
i1
yi bi lik yk , i 1,2,, n.
k 1 n
xi ( yi uik xk ) uii , i n,,1.
k i1
例: 利用LU分解法求解方程组
1 2 3 x1 2
1
3
5
x2
4
.
1 3 6 x3 5
1 0 0 1 2 3 2 1
解:LU 1
an(kk11)
a1(1n)
ak(kn) ak(k11n)
an(kn1)
x1
xk
xk
1
xn
b1(1)
bbk(kk(k1)1) bn(k 1)
.
其中
ai(jk1) ai(jk) mik ak(kj ), (i, j k 1,, n) bi(k 1) bi(k) mik bk(k) , (i k 1,, n)
第n-1步: … …
a1(11)
0
0
a1(12) a2(22)
0
a1(1n) a2(2n)
an(nn)
x1
x2
xn
bb12((12)) bn(n)
.
(2)回代过程
a1(11)
0
0
a1(12) a2(22)
0
a1(1n) a2(2n)
an(nn)
:n
k次除法,
a(k 1) ij
: (n
k )2 次乘法,
b(k 1) i
:
n
k次乘法, (i,
j
k
1,
, n).
n 1
消元过程乘除法次数: (n
k 1
k)2
n 1 2 (n
k 1
k)
13n3
1 2
n2
5 6
n
回代过程乘除法次数:
k
n k
1
1 2
n(n
1)
总的乘除法运算次数:1
3
n3
n2
1 3
§2 解线性方程组的直接方法
一、高斯消去法
•设有线性方程组:AX=b
a11 a12 a1n
x1
b1
A
a21
a22
a2n
,
X
x2
,
b
b2
.
an1
an2
ann
xn
bn
•高斯消去法如何求解一般线性方程组?
高斯消去法的步骤:
(1)消元过程
第一步:若 a1(11) 0, 用 mi1 ai(11) / a1(11) 乘第一行 加到第i行中,得到