第五章解线方程组的直接方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章解线性方程组的直接方法
⏹预备知识
⏹消元法
⏹矩阵分解法
⏹追赶法
⏹误差分析
线性代数是数值计算方法的基础,学习它对数值计算方法其它内容的学习会有很大的帮助。无论是插值公式的建立,还是微分方程的离散格式的构造,其基本思想都是转化为代数问题来处理,即归结为解线性方程组。MATLAB的强大功能是建立在矩阵和向量运算基础上的,线性代数的学习也可以大大提高对MATLAB的掌握程度。
线性方程组的基本解法:
直接解法:经过有限步算术运算,在不考虑舍入误差的情况下求得方程组的精确解;
迭代解法:用某种极限过程逐步逼近方程组的精确解。
5.1 预备知识: 矩阵和向量及线性方程组的解
方阵:m=n 的矩阵;
零矩阵:所有元素都为0的矩阵。在MATLAB中零矩阵由zeros 命令定义。如A=zeros(m,n)定义一个m×n 零矩阵,n×n 零矩阵可以用命令A=zeros(n)定义。
单位矩阵:所有对角元为1而其余元素均为0的方阵。单位矩阵记为I。在MATLAB 中单位矩阵由eye命令定义。如A=eye(n)定义一个n阶单位矩阵。
元素都是1的矩阵:在MATLAB中元素都是1的矩阵由ones命令定义。如
A=ones(m,n)定义一个m×n阶的元素都是1的矩阵。
矩阵的加法和减法:行列数相同的矩阵之间才可以进行加法和减法。
矩阵的乘法:若A的行数和B的列数相等,则它们可以相乘C=AB。其中C的第i 行第j列元素等于A的第i行和B的第j列对应元素乘积之和。
逆矩阵:若两个方阵A和B满足:AB=I且BA=I,则称A和B互为逆矩阵。在MATLAB 中M的逆矩阵由inv(M) 命令计算。对于任一非奇异矩阵都可用inv命令计算其逆矩阵。若MATLAB拒绝计算一个方阵的逆矩阵,则此矩阵一定是奇异的。一个奇异矩阵的行列式是0(或者至少有一行(列)可以用其它行(列)通过多次加法和减法表示)。
行列式:方阵A的行列式是一个标量值,用det(A)或|A|表示。在MATLAB中矩阵A
的行列式由det(A)命令计算。如d =det (A )计算一个n 阶方阵A 的行列式。
特征值和特征向量:在MATLAB 中用eig 函数计算矩阵A 的特征值和特征向量。如D =eig(A)计算方阵A 的特征值向量,而[V,D]=eig(A)则计算V 为特征向量,D 为特征值组成的对角矩阵。
矩阵运算的性质:设A ,B ,C ,…是矩阵,p,q,r,…是标量,而且对应矩阵运算有定义,则
A(BC)=(AB)C IA =AI =A
A(B +C)=AB +AC (A +B)C =AC +BC P(A +B)=pA+pB p(AB)=(pA)B=A(pB) A+B=B+A A+0=0+A=A A+(B+C)=(A+B)+C p(qA)=(pq)A (AB)T =B T A T (AB)-1=B -1A -1 det(AB)=det(A)det(B)
正定矩阵及其性质:……。 给定下列n 元线性方程组
⎪⎪
⎩⎪⎪⎨
⎧=+++=+++=+++n
n nn 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 ΛΛΛΛΛ22112
22221211
1212111 矩阵形式 b AX = 线性方程组解唯一的条件:0||≠A 。
定理5.1.1(线性方程组的初等运算) 下面三种变换可以将一个线性方程组变成另一个等价线性方程组:
交换变换:对调方程组的任意两个方程; 比例变换:用非零常数乘某一个方程;
替换变换:将某一个方程乘一个常数,再加到另一个方程上去。
定理5.1.2(矩阵的初等行变换)对一个线性方程组的增广矩阵进行如下的变换可得到一个等价的线性方程组的增广矩阵:
交换行变换:对调任意两行; 比例行变换:用非零常数乘某一行;
替换行变换:将某一行乘一个常数,再加到另一行上去。
初等矩阵及其性质:……。
5.2 消去法
直接法:假设计算过程中不产生舍入误差,经过有限次运算可求得方程组的精确解。
思路:将线性方程组变形成等价的三角方程组。
最基本的直接法就是消去法。
5.5.1.高斯消去法
思路:先逐次消去变量,将方程组化解成同解的上三角方程组,此过程称为消去过程;然后按方程组相反顺序求解上三角方程组,得到原方程组的解,此过程称为回代过程。
一般地,对于n阶线性方程组:
⎪⎪
⎩⎪⎪⎨
⎧=+++=+++=+++n
n nn 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 ΛΛΛΛΛ22112
222212********* 矩阵形式 b AX = (5.5.1) 消元过程:
第一步:用第1个方程乘上乘数-
1
,11,a a i 分别加到第i(i=2,3,…,n)个方程上去,从而消
去第i 个方程的首项,方程组(5.3.1)变为下列形式:
a 1,1x 1+ a 1,2x 2 + … + a 1,n x n =
b 1
)1(2,2a x 2 + … + )
1(,2n a x n =)1(2b (5.5.2)
……
)1(2,n a x 2 + … + )
1(,n
n a x n =)1(n b 其中 )
1(1,i a =
1
,11,a a i , j=2,3,…,n;
)1(,j i a = a i,j –)1(1,i a * a 1,j ;
)1(i b = b i –)1(1,i a * b 1 , i=2,3, … , n, j=2,.3,…,n.
若经过k-1 步后,从方程组(5.5.1)得到下列形式的方程组:
)1(11a x 1+)1(12a x 2 + … + )1(1n a x n = )
1(1b
)2(2,2a x 2 + … +)
2(,2n a x n = )2(2b
…… (5.5.3)
)1(1,1---k k k a x k-1+ … +)
1(,1--k n
k a x n = )1(-k k b ………
)1(1,--k k n a x k-1+ … +)
1(,-k n
n a x n =)1(-k n b 则对第k 列进行消元可将变为如下形式:
)1(11a x 1+)1(12a x 2 + … + )1(1n a x n = )
1(1b
)2(2,2a x 2 + … +)2(,2n a x n = )2(2b
………… (5.5.4)
)(,k k k a x k + … +)
(,k n k a x n = )(k k b
………