数据结构Ch3解非线性方程组的直接解法su
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ii
(i n 1, ..3., 1)
回代乘除次数:
1
n1
(n i
1)
n2
n
i 1
22
1.2 主元消去法
第3章
前述顺序消去法是按序通过用a11,a22(1),…,an-1,n-1(n-2)
(akk(k-1) ≠0)作为除数来达到消元目的的,因此应特别注
意到元素
a(k 1) kk
(称之为主元素).因为如果主元素为0,消元
顺序消去法:
第3章
(n k) 次
Step
k:设
a ( k 1) kk
, 计0 算因子
且计算
a(k) ij
a ( k 1) ij
lik
a(k kj
1)
lik
a ( k 1) ik
/
a(k kk
1)
(i k 1, ..., n)
(n k)(n k+1) 次
i k 1, ..., n; j k 1, ..., n 1
a(1) 2n
xn
a(1) 2,n1
a(2) 3n
xn
a(2) 3,n1
a x a (n1) nn n
( n1) n,n1
(3.5)
必须指出的是方程组(3.5)中的aij(k)(i≤j) 并非与 顺序消去法得到的(3.4)相同。
然后就可对方程组(3.5)回代求解。
例 用列主元素消去法 解方程组
第3章
a(0)
1 1j
,
li2
a(1) i2
a(1) 22
,
a(2) ij
a(1) ij
li
a(1)
2 2j
,
回代公式
xn
a(n1) n,n1
a(n1) nn
n
a a x (i1) i ,n1
( i 1)
ij
j
a1(10)
x1
第 a31章(20) x2
a(1) 22
x2
a(0) 13
x3
③
第3章
③+②×1/1167得
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
3.142x3 9.428 ③
回代求得 x1=1.000, x2=2.000, x3=3.001 方程组的实际解
x1=1, x2=2, x3=3
第3章
列主元素消去法的计算过程为:
x2
a (1) 23
x3
a (1) n2
x2
a (1) n3
x3
a1(10)
x1
a(0) 12
x2
a(1) 22
x2
a(0 13
)
x3
a(1) 23
x3
a(2) 33
x3
第a31章n(0) xn
a (0) 1, n1
(1)
a2
(1) n
xn
a (1) 2, n1
(2)
a (1) nn
xn
a (0) nn
i2
xn
an
,
(1) (0 2n21
)
ij
(n)
(0)
(0)
ij
i1 1 j
(1)
(1)
ij
i 2 2j
(i)
a (0) i1
a (0) 11
(1)
a11(
0)
x1
a12(0) x2
a (0) 13
x3
a (1) 22
x2
Fra Baidu bibliotek
a (1) 23
x3
a (1) 32
x2
a (1) 33
x3
a1n(0) xn
a (0) 1, n1
(1)
a (1) 2n
xn
a (1) 2, n1
(2)
a (1) 3n
xn
a (1) 3, n1
an
(1) 2
x2
an
(1) 3
x3
a (1) nn
xn
a (1) n, n1
(n)
a11(0)
x1
a (0) 12
x2
a (0) 13
x3
a (1) 22
所谓列主元素消去法就是在每一步消元过程中取系数 子矩阵的第一列元素中绝对值最大者作主元。对线性 方程组(3.1)进行n-1次消元后,可得到上三角形方程组
a1(10)
x1
a(0 12
)
x2
a(1) 22
x2
a(0) 13
x3
a(1) 23
x3
a(2 33
)
x3
第3章
a(0) 1n
xn
a(0) 1,n1
第3章
18x1 3x2 x3 15
①
x2 2.333x3 5.000 ②
1.167x2 0.944x3 5.167 ③
第二列消元时,主元为1.167, 18x1 3x2 x3 15
①
交换方程②和③得
1.167x2 0.944x3 5.167 ②
x2 2.333x3 5.000
化简可得
x2=0.6000
算失败。
回代入①求得
x1=105(0.6-0.6000)=0
而方程组的解应为
x1=0.4000 x2=0.6000
第3章
显然用上述方法求出的解x1与方程组的实际解相
差很大。若改变两个方程的顺序,即
x1+x2=1
①
10-5 x1+x2=0.6
②
②-①×10-5得 (1.000-1.000×10-5)x2=0.6-1.000×10-5
化简得
x2=0.6000
回代求得
x1=(1-0.6000)=0.4000
第3章
高斯主元素消去法是顺序消去法的一种改进。它 的基本思想是在逐次消元时总是选绝对值最大的元素 (称之为主元)做除数,按顺序消去法的步骤消元。
这里主要介绍求解线性方程组最常用的列主元素消去 法和全主元素消去法。
1.列主元素消去法
a(1) 23
x3
a(2) 33
x3
xi
j i 1
a ( i 1) ii
, i n 1, n 2, ,1
a(0) 1n
xn
a(0) 1,n1
a(1) 2n
xn
a(1) 2,n1
a(2) 3n
xn
a(2) 3,n1
a x a (n1) nn n
( n1) n,n1
➢
运算量
/*
Amount
a ( k 1) kk
,
1 k n - 1, k 1 i n
a(k) ij
a ( k 1) ij
lik
a ( k 1) kj
,
k 1 i n, k 1 j n 1
(2)回代过程
xn
a(n1) nn1
a(n1) nn
n
a a x (i1) i ,n1
( i 1)
ij
共(n k) (n k + 2) 次
共进行n 1步
消元乘除次数:
a1(10)
a(0) 12
a(1) 22
... ...
...
a(0) 1n
a(1) 2n
x1 x2 .
a(0) 1,n1
a(1) 2,n1
.
a(n1) nn
xn
a(n1) n,n1
n1
(n k)(n k 2)
过程将无法进行下去.如果主元的绝对值较小,作为除数也
不合适.所以这种方法是不恰当的.
第3章
例如用顺序消去法求解下列方程组(用四位有效数字计算):
105
x1
x2
0.6
x1 x2 1
① ②
②- ① ×105得
105 1
1
0
105
0.6
105
((01..0000000--10.0.10000×0×10150)x6)2x=21=.000.000-000.6-e00小l0.e00m主6×0e元n01t×0*/5/*1可S06m能al导l p致ivo计t
第3章
18x1 3x2 x3 15
①
x2 2.333x3 15
②
1.167x2 0.944x3 5.167 ③
第3章
例 用全主元素消去法 12x1 3x2 3x3 15 ①
求解方程组
18x1 3x2 x3 15 ②
x1 x2 x3 6
③
解 这里主元为-18, 交换方程①与方程②得
18x1 3x2 x3 15
①
x2 2.333x3 15
②
1.167x2 0.944x3 5.167 ③
第3章
第三章 解线性方程组的直接法
a11x1 a12 x2 a1n xn b1
a21x1
a22 x2 a2n xn
b2
an1x1 an2 x2 ann xn bn
(3.1)
求解
A
x
b
§1 高斯消去法
1.三角形方程组的解法
a11 x1
b1
a21x1
a22 x2
x3
an1(0)
x1
a (0) n2
x2
a (0) n3
x3
a1n(0)第xn3章a1,
(0)
n(01)
(1)
l a , a a l a ,
a2
( n
0)
xin1
a i1 (0)
2, n( 01)
(1)
(2ij)
a
a3
( n
0)
xn
a3,
11 (
n(11)
0)
ai 2
(2)
l a , a a l a ,
of
第3章 Computation */
由于计算机中乘除 /* multiplications / divisions */ 运算的时 间远远超过加减 /* additions / subtractions */ 运算的时间,故 估计某种算法的运算量时,往往只估计乘除的次数,而且通 常以乘除次数的最高次幂为运算量的数量级。
j
xi
j i 1
a ( i 1) ii
, i n 1, n 2, ,1
第3章
第3章
2. 全主元素消去法
第3章
所谓全主元素消去法,就是每步消元时选取系数子 矩阵中绝对值最大的元素作主元。经过n-1次消元后,方 程组(3.1)可化为上三角形方程组,后回代求解。
这里上三角方程组中的系数aij(i≤j) 一般改变了。特 别是未知数的排列顺序,由于全主元素的消元过程中,其 系数矩阵可能进行了列对调,那么未知数也相应地作了 对调。例如,若矩阵第i列与第j列对调,则未知数xi与xj也 相应地对调了, xi的结果实质上为xj的结果。
2. 全主元素消去法
第3章
所谓全主元素消去法,就是每步消元时选取系数子 矩阵中绝对值最大的元素作主元。经过n-1次消元后,方 程组(3.1)可化为上三角形方程组,后回代求解。
这里上三角方程组中的系数aij(i≤j) 一般改变了。特 别是未知数的排列顺序,由于全主元素的消元过程中,其 系数矩阵可能进行了列对调,那么未知数也相应地作了 对调。例如,若矩阵第i列与第j列对调,则未知数xi与xj也 相应地对调了, xi的结果实质上为xj的结果。
(1)消元过程 对于k=1,2,…,n-1进行下述运算:
①选主元,确定r,使得
a ( k 1) rk
max ik
a ( k 1) ik
若ark(k-1)=0,说明系数矩阵为奇异,则停止计算否则进行下一步。
②交换A的r、k两行,即互换arj(k-1) 、 akj(k-1)的值
③计算
lik
a ( k 1) ik
12x1 3x2 3x3 15
①
18x1 3x2 x3 15
②
取四位有效数字计算。 x1 x2 x3 6
③
解 ②中-18为主元, 交换②和①得
18x1 3x2 x3 15
①
12x1 3x2 3x3 15
②
x1 x2 x3 6
③
②+①×12/18, ③+①×1/18得
b2
an1x1 an2 x2 ann xn bn
第3章
a11x1 a12 x2 a1n xn b1
a22 x2 a2n xn b2
ann xn bn
2.顺序消去法
第3章
例 解方程组
18x1 3x2 x3 15 ①
x1
x2
x3
6
②
12x1 3x2 3x3 15 ③
解 ② +①×12/18 ,③ +①×1/18, 得
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
x2 2.333x3 5.000
③
取四位有效数 字计算。
③+②×1/1.167得
第3章
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
3.142x3 9.428
③
回代求得
x3=3.001, x2=2.000, x1=1.000
方程组的实际解
x1=1, x2=2, x3=3
a11(0)
x1
a (0) 12
x2
a (0) 13
x3
a21(0)
x1
a (0) 22
x2
a (0) 23
x3
a31(0)
x1
a (0) 32
x2
a (0) 33
a ( k 1) kk
,
1 k n - 1, k 1 i n
a(k) ij
a ( k 1) ij
lik
a ( k 1) kj
,
k 1 i n, k 1 j n 1
我们通过初等变换得到一个与原方程组等价的方程组
li1
a(0) i1
a(0) 11
,
a(1) ij
a(0) ij
li
a (1) n, n1
(n)
a(0) 1n
xn
a(0) 1,n1
(1)
a(1) 2n
xn
a(1) 2,n1
(2)
a(2) 3n
xn
a(2) 3,n1
(3)
(3.4)
a x a (n1) nn n
( n1) n,n1
(n)
消元公式
第3章
通过乘数 lik来消元, 称为乘数
lik
a ( k 1) ik
k 1
n3 n2 5 n 3 26
消元乘除次数: n3 n2 5 n 第3章
回代过程:
xn
3 26
1次
an(n,n11)顺/ a序nn(nn消1) 去法
a n(i13) i ,n1
n2 ai(ji11) xnj
的总乘(n除次i +数1)为次
,运算量为 n3 级。
xi
3 ji1 3 a ( i 1)
(i n 1, ..3., 1)
回代乘除次数:
1
n1
(n i
1)
n2
n
i 1
22
1.2 主元消去法
第3章
前述顺序消去法是按序通过用a11,a22(1),…,an-1,n-1(n-2)
(akk(k-1) ≠0)作为除数来达到消元目的的,因此应特别注
意到元素
a(k 1) kk
(称之为主元素).因为如果主元素为0,消元
顺序消去法:
第3章
(n k) 次
Step
k:设
a ( k 1) kk
, 计0 算因子
且计算
a(k) ij
a ( k 1) ij
lik
a(k kj
1)
lik
a ( k 1) ik
/
a(k kk
1)
(i k 1, ..., n)
(n k)(n k+1) 次
i k 1, ..., n; j k 1, ..., n 1
a(1) 2n
xn
a(1) 2,n1
a(2) 3n
xn
a(2) 3,n1
a x a (n1) nn n
( n1) n,n1
(3.5)
必须指出的是方程组(3.5)中的aij(k)(i≤j) 并非与 顺序消去法得到的(3.4)相同。
然后就可对方程组(3.5)回代求解。
例 用列主元素消去法 解方程组
第3章
a(0)
1 1j
,
li2
a(1) i2
a(1) 22
,
a(2) ij
a(1) ij
li
a(1)
2 2j
,
回代公式
xn
a(n1) n,n1
a(n1) nn
n
a a x (i1) i ,n1
( i 1)
ij
j
a1(10)
x1
第 a31章(20) x2
a(1) 22
x2
a(0) 13
x3
③
第3章
③+②×1/1167得
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
3.142x3 9.428 ③
回代求得 x1=1.000, x2=2.000, x3=3.001 方程组的实际解
x1=1, x2=2, x3=3
第3章
列主元素消去法的计算过程为:
x2
a (1) 23
x3
a (1) n2
x2
a (1) n3
x3
a1(10)
x1
a(0) 12
x2
a(1) 22
x2
a(0 13
)
x3
a(1) 23
x3
a(2) 33
x3
第a31章n(0) xn
a (0) 1, n1
(1)
a2
(1) n
xn
a (1) 2, n1
(2)
a (1) nn
xn
a (0) nn
i2
xn
an
,
(1) (0 2n21
)
ij
(n)
(0)
(0)
ij
i1 1 j
(1)
(1)
ij
i 2 2j
(i)
a (0) i1
a (0) 11
(1)
a11(
0)
x1
a12(0) x2
a (0) 13
x3
a (1) 22
x2
Fra Baidu bibliotek
a (1) 23
x3
a (1) 32
x2
a (1) 33
x3
a1n(0) xn
a (0) 1, n1
(1)
a (1) 2n
xn
a (1) 2, n1
(2)
a (1) 3n
xn
a (1) 3, n1
an
(1) 2
x2
an
(1) 3
x3
a (1) nn
xn
a (1) n, n1
(n)
a11(0)
x1
a (0) 12
x2
a (0) 13
x3
a (1) 22
所谓列主元素消去法就是在每一步消元过程中取系数 子矩阵的第一列元素中绝对值最大者作主元。对线性 方程组(3.1)进行n-1次消元后,可得到上三角形方程组
a1(10)
x1
a(0 12
)
x2
a(1) 22
x2
a(0) 13
x3
a(1) 23
x3
a(2 33
)
x3
第3章
a(0) 1n
xn
a(0) 1,n1
第3章
18x1 3x2 x3 15
①
x2 2.333x3 5.000 ②
1.167x2 0.944x3 5.167 ③
第二列消元时,主元为1.167, 18x1 3x2 x3 15
①
交换方程②和③得
1.167x2 0.944x3 5.167 ②
x2 2.333x3 5.000
化简可得
x2=0.6000
算失败。
回代入①求得
x1=105(0.6-0.6000)=0
而方程组的解应为
x1=0.4000 x2=0.6000
第3章
显然用上述方法求出的解x1与方程组的实际解相
差很大。若改变两个方程的顺序,即
x1+x2=1
①
10-5 x1+x2=0.6
②
②-①×10-5得 (1.000-1.000×10-5)x2=0.6-1.000×10-5
化简得
x2=0.6000
回代求得
x1=(1-0.6000)=0.4000
第3章
高斯主元素消去法是顺序消去法的一种改进。它 的基本思想是在逐次消元时总是选绝对值最大的元素 (称之为主元)做除数,按顺序消去法的步骤消元。
这里主要介绍求解线性方程组最常用的列主元素消去 法和全主元素消去法。
1.列主元素消去法
a(1) 23
x3
a(2) 33
x3
xi
j i 1
a ( i 1) ii
, i n 1, n 2, ,1
a(0) 1n
xn
a(0) 1,n1
a(1) 2n
xn
a(1) 2,n1
a(2) 3n
xn
a(2) 3,n1
a x a (n1) nn n
( n1) n,n1
➢
运算量
/*
Amount
a ( k 1) kk
,
1 k n - 1, k 1 i n
a(k) ij
a ( k 1) ij
lik
a ( k 1) kj
,
k 1 i n, k 1 j n 1
(2)回代过程
xn
a(n1) nn1
a(n1) nn
n
a a x (i1) i ,n1
( i 1)
ij
共(n k) (n k + 2) 次
共进行n 1步
消元乘除次数:
a1(10)
a(0) 12
a(1) 22
... ...
...
a(0) 1n
a(1) 2n
x1 x2 .
a(0) 1,n1
a(1) 2,n1
.
a(n1) nn
xn
a(n1) n,n1
n1
(n k)(n k 2)
过程将无法进行下去.如果主元的绝对值较小,作为除数也
不合适.所以这种方法是不恰当的.
第3章
例如用顺序消去法求解下列方程组(用四位有效数字计算):
105
x1
x2
0.6
x1 x2 1
① ②
②- ① ×105得
105 1
1
0
105
0.6
105
((01..0000000--10.0.10000×0×10150)x6)2x=21=.000.000-000.6-e00小l0.e00m主6×0e元n01t×0*/5/*1可S06m能al导l p致ivo计t
第3章
18x1 3x2 x3 15
①
x2 2.333x3 15
②
1.167x2 0.944x3 5.167 ③
第3章
例 用全主元素消去法 12x1 3x2 3x3 15 ①
求解方程组
18x1 3x2 x3 15 ②
x1 x2 x3 6
③
解 这里主元为-18, 交换方程①与方程②得
18x1 3x2 x3 15
①
x2 2.333x3 15
②
1.167x2 0.944x3 5.167 ③
第3章
第三章 解线性方程组的直接法
a11x1 a12 x2 a1n xn b1
a21x1
a22 x2 a2n xn
b2
an1x1 an2 x2 ann xn bn
(3.1)
求解
A
x
b
§1 高斯消去法
1.三角形方程组的解法
a11 x1
b1
a21x1
a22 x2
x3
an1(0)
x1
a (0) n2
x2
a (0) n3
x3
a1n(0)第xn3章a1,
(0)
n(01)
(1)
l a , a a l a ,
a2
( n
0)
xin1
a i1 (0)
2, n( 01)
(1)
(2ij)
a
a3
( n
0)
xn
a3,
11 (
n(11)
0)
ai 2
(2)
l a , a a l a ,
of
第3章 Computation */
由于计算机中乘除 /* multiplications / divisions */ 运算的时 间远远超过加减 /* additions / subtractions */ 运算的时间,故 估计某种算法的运算量时,往往只估计乘除的次数,而且通 常以乘除次数的最高次幂为运算量的数量级。
j
xi
j i 1
a ( i 1) ii
, i n 1, n 2, ,1
第3章
第3章
2. 全主元素消去法
第3章
所谓全主元素消去法,就是每步消元时选取系数子 矩阵中绝对值最大的元素作主元。经过n-1次消元后,方 程组(3.1)可化为上三角形方程组,后回代求解。
这里上三角方程组中的系数aij(i≤j) 一般改变了。特 别是未知数的排列顺序,由于全主元素的消元过程中,其 系数矩阵可能进行了列对调,那么未知数也相应地作了 对调。例如,若矩阵第i列与第j列对调,则未知数xi与xj也 相应地对调了, xi的结果实质上为xj的结果。
2. 全主元素消去法
第3章
所谓全主元素消去法,就是每步消元时选取系数子 矩阵中绝对值最大的元素作主元。经过n-1次消元后,方 程组(3.1)可化为上三角形方程组,后回代求解。
这里上三角方程组中的系数aij(i≤j) 一般改变了。特 别是未知数的排列顺序,由于全主元素的消元过程中,其 系数矩阵可能进行了列对调,那么未知数也相应地作了 对调。例如,若矩阵第i列与第j列对调,则未知数xi与xj也 相应地对调了, xi的结果实质上为xj的结果。
(1)消元过程 对于k=1,2,…,n-1进行下述运算:
①选主元,确定r,使得
a ( k 1) rk
max ik
a ( k 1) ik
若ark(k-1)=0,说明系数矩阵为奇异,则停止计算否则进行下一步。
②交换A的r、k两行,即互换arj(k-1) 、 akj(k-1)的值
③计算
lik
a ( k 1) ik
12x1 3x2 3x3 15
①
18x1 3x2 x3 15
②
取四位有效数字计算。 x1 x2 x3 6
③
解 ②中-18为主元, 交换②和①得
18x1 3x2 x3 15
①
12x1 3x2 3x3 15
②
x1 x2 x3 6
③
②+①×12/18, ③+①×1/18得
b2
an1x1 an2 x2 ann xn bn
第3章
a11x1 a12 x2 a1n xn b1
a22 x2 a2n xn b2
ann xn bn
2.顺序消去法
第3章
例 解方程组
18x1 3x2 x3 15 ①
x1
x2
x3
6
②
12x1 3x2 3x3 15 ③
解 ② +①×12/18 ,③ +①×1/18, 得
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
x2 2.333x3 5.000
③
取四位有效数 字计算。
③+②×1/1.167得
第3章
18x1 3x2 x3 15
①
1.167x2 0.944x3 5.167 ②
3.142x3 9.428
③
回代求得
x3=3.001, x2=2.000, x1=1.000
方程组的实际解
x1=1, x2=2, x3=3
a11(0)
x1
a (0) 12
x2
a (0) 13
x3
a21(0)
x1
a (0) 22
x2
a (0) 23
x3
a31(0)
x1
a (0) 32
x2
a (0) 33
a ( k 1) kk
,
1 k n - 1, k 1 i n
a(k) ij
a ( k 1) ij
lik
a ( k 1) kj
,
k 1 i n, k 1 j n 1
我们通过初等变换得到一个与原方程组等价的方程组
li1
a(0) i1
a(0) 11
,
a(1) ij
a(0) ij
li
a (1) n, n1
(n)
a(0) 1n
xn
a(0) 1,n1
(1)
a(1) 2n
xn
a(1) 2,n1
(2)
a(2) 3n
xn
a(2) 3,n1
(3)
(3.4)
a x a (n1) nn n
( n1) n,n1
(n)
消元公式
第3章
通过乘数 lik来消元, 称为乘数
lik
a ( k 1) ik
k 1
n3 n2 5 n 3 26
消元乘除次数: n3 n2 5 n 第3章
回代过程:
xn
3 26
1次
an(n,n11)顺/ a序nn(nn消1) 去法
a n(i13) i ,n1
n2 ai(ji11) xnj
的总乘(n除次i +数1)为次
,运算量为 n3 级。
xi
3 ji1 3 a ( i 1)