学论文线性方程组的求解及应用文档格式.docx
- 文档编号:19323435
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:19
- 大小:402.75KB
学论文线性方程组的求解及应用文档格式.docx
《学论文线性方程组的求解及应用文档格式.docx》由会员分享,可在线阅读,更多相关《学论文线性方程组的求解及应用文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
又怎么去求解?
(3)假如只有一个解,那也简单;
假如有多个解,解与解的关系又是怎么?
(4)线性方程组有什么应用?
经过深入的学习我们发现一些方程组的系数矩阵大多比较复杂,我们利用高等代数中的解法并不能得到它的解,我们用该怎么求解呢?
经过数值分析这一门课程的学习我们知道关于线性方程组的数值解法一般两类,一类是直接法,另一类是迭代法.
本文将简略介绍直接法中的最基本的Gauss消去法及其某些变形(这类方法是解低阶稠
密矩阵方程组的有效方法)和详细介绍迭代法的一些基本理论及Jacobi迭代、Gauss-Seidel迭代法、超松弛迭代法以及使用MATLAB如何进行线性方程组的快速求解.
二、简单线性方程组的求解
行列式按行展开定理【1】:
n阶行列式D等于它的任一行元素与该行元素的对应代数余子式乘积之和.即
定理2【1】:
行列式的某一行元素与另一行的对应元素的代数余子式的乘积之和等于零.
1.克拉默法则(行列式)
如果线性方程组
的系数行列式
那么线性方程组
(1)有唯一解:
其中
即Di是把D中的第i列的元素换成线性方程组的常数项而得到的行列式.
证明:
为证明
(2)式是线性方程组
(1)的解,只需把它代入方程组
(1)的每个方程,如果两端相等,则说明
(2)确实是方程组
(1)的解.
将
(2)式代入方程组
(1)的第i个方程组的左端,并注意把Di按照第i行展开,得
根据行列式按行展开定理和定理2,可以看出,上式左端方括号只有bi的系数是D,而其他的bk(k≠i)的系数都是零,故得
这说明
(2)式是方程组
(1)的解.
再证解的唯一性.
任给方程组的一个解:
x1=c1,x2=c2,…xn=cn,(3)
我们只要证明(3)与
(2)相同即可.将(3)代入方程组
(1),得
现在构造行列式
给行列式的第2,3…,n列分别乘以c2,c3,…,cn后都加到第一列,得到.
根据(4)式,得
因D≠0,所以
这样,我们证明了
(1)的任一解都是
(2),所以
(1)的解是唯一的.
2.消元解法
上面已经了解了解线性方程组的克拉默法则,但是使用克拉默法则是条件的,它要求线性方程组中方程的个数与未知量的个数相等,而且系数行列式不为零,可是在很多问题中,我们所遇到的线性方程组并不都是这样的,有时方程的个数虽与未知量的个数相等,但系数行列式等于零;
有时甚至于方程的个数与未知量的个数都不相等,这时就无行列式可言了.那么对于一般的线性方程组,究竟该如何求解呢?
定理3[1]设线性方程组的(
)和(
)的增广矩阵分别为A和B.如果A可经过初等变换变为B,那么线性方程组(
)是同解方程组.
定理4(线性方程组有解的判定定理)[1]
线性方程组
有解的充分必要条件是系数矩阵A和增广矩阵B有相同的秩,即秩A=秩B.
当秩A=秩B=n时,方程组(5)有唯一解;
当秩A=秩B<
n时,(5)有无穷多个解.
利用线性变换和第一种列初等变换将方程组(5)的系数矩阵A和增广矩阵B变为如下的矩阵,其中r为A的秩,
所以D所对应的线性方程组为:
由于初等变换不改变矩阵的秩,且根据定理3同解方程的充要条件,所以有(5)和(6)是同解方程组.所以讨论(5)的求解问题就归结为讨论(6)的求解问题.
下面我们分情况讨论(5)是否是有解及有解时该如何求解的问题.
情况1:
r<
m,且dr+1,…dm不全为零.不妨设dr+1不等于0,此时出现0=dr+1,矛盾,所以方程组(6)无解,因此方程组(5)也无解
情况2:
r=m或虽然r<
m但dr+1,…全为零.这时方程组(6)的后m-r个方程组或者不出现,或者全变为0=0.如果是后者,删除0=0的恒等式不影响方程组的解,所以方程组(6)的解同解于如下的方程组:
这时又有两种情形:
(a)当r=n时,方程组(7)为
所以此时方程组(7)有唯一解(8),因此方程组(5)有唯一解:
(b)当r<
n时,把方程组(7)改写为如下方程组:
于是,让未知量
取任意一组数
,就可得到(7)的解:
当然(9)也是(5)的一个解,反过来,由于(5)与(7)是同解方程组,所以(5)的任意一个解都必须满足(7),从而具有(9)的形式.由于
可以任意选取,所以用上述方法可以求出(5)的无穷多解.
根据以上讨论,我们可以由情况1和情况
(2)的讨论可知,或者r=m,或者r<
m,但
方程组(5)有解,在这两种情况下都有,秩D=r.所以秩A=秩C.
反过来,设秩A=秩C,那么秩D=r,由此即得r=m或者r<
m但
.因而由前面的情况2的讨论即知,方程组(5)有解.
由情况2(a)知,当秩A=秩C=n,方程组有唯一解.由情况2(b)知,当秩A=秩C<
n时,方程组有唯一解.
三、解复杂的线性方程组
1.直接法
直接法就是经过有限步数学计算即可求得方程组的精确解的方法(若计算过程中没有舍入误差).但实际运算中由于舍入误差的存在和影响,这种方法也只可求得线性方程组的近似解.下面将阐述这类算法中的最基本的Gauss消去法及其某些变形.这类是解低阶稠密矩阵的有效方法.
定理5(矩阵的LU分解)
【9]设A为n阶矩阵,如果A的顺序主子式Di(i=1,2,…,n),则A可以分解为一个单位下三角阵L和一个上三角阵U的乘积,且这种分解是唯一的
(1)Gauss消去法
设有线性方程组
或写成矩阵形式Ax=b,其中
其中A为非奇异矩阵.用消去法去解方程组的基本思想是,用逐次消去未知数的方法把原来的方程组Ax=b化为与其等价的三角方程组,而求解三角方程组就容易了.换句话说,上述过程就是用行的初等变换将原方程组系数矩阵化为简单形式,从而求解原方程组.
之前所讲的消元解法是其的特例,就不再缀述了.
下面我们来讨论一般的解n阶方程组的Gauss消去法.
将(10)式记为A
(1)x=b
(1),其中A
(1)=(aij
(1))=(aij),b
(1)=b.
第一次消元.设a11
(1)不等于0,首先设行计数乘数mi1=ai1
(1)/a11
(1)(i=2,3,…,n),用-mi1乘式(10)的第1个方程,加到i(i=2,3,…,n)个方程上,消去(10)中的第2个方程知道n个方程的未知数x1,得到与式(10)等价的方程组(11)
一般第k(1≦k≦n-1)次消元.设第k-1步计算已经完成,即已计算好与式(10)等价的方程组(12)A(k)x=b(k),且已消去未知数x1,x2,x3…,xk-1,其中A(k)具有以下形式:
设a(k)kk不等于0,计算乘数mik=aik(k)/akk(k)(i=k+1,…,n),用-mik乘式A(k)x=b(k)的第k个方程加上第i(i=k+1,…,n)个方程,消去第k+1个方程直到第n个方程的未知数xk,得到与式(10)等价的方程组A(k+1)x=b(k+1).
A(k+1)元素的计算公式为:
显然A(k+1)的第一行直到第k行与A(k)相同.
继续这一过程,直到完成第n-1次消元.最后得到与原方程等价的三角方程组
A(n)x=b(n).(13)
上述过程称为消元过程.
求解线性方程组(11),设aij(i)不等于0(i=1,2,…,n-1),易得求解公式
上式的求解过程称为回代过程.
(2)Gauss消去法的变形
Gauss消去法有很多变形,有的是Gauss消去法的改进、改写,有的是用于某一类特殊性质矩阵的Gauss消去法的简化.
下面介绍Gauss主元素消去法和追赶法
Gauss主元素消去法
由Gauss消去法知道,在消元过程中可能会出现
的情况,这时消去法将无法进行;
即使在主元素
但很小时,用其作除数,也会导致其元素的数量级的严重增长和舍入误差的扩散,最后会使得计算解不可靠.
对于一般矩阵来说,最好每一步都选取系数矩阵(或消元后的低阶矩阵)中绝对值最大的元素作为主元素,使Gauss消去法具有较好的数值稳定性.
追赶法
在一些实际问题中,例如解常微分方程边值问题,解热传导以及船体数学放样中建立三次样条函数等中,都会要求解系数矩阵为对角占优的三对角方程组
简记为Ax=f
其中A满足下列对角占优条件:
由系数矩阵A的特点,可以将A分解为两个三角阵的乘积,即A=LU.
其中L为下三角矩阵,U为上三角矩阵.下面说明这种分解是可能的.设
为待定未知量,比较上式两端得
由
,下面用归纳法证明
从而可以由(15)式求得
式(15)对于i=1是成立的.现设(15)对i-1成立,求证对i亦成立.
由归纳假设
,又由于式(15)及A的假设条件,有
也就是
,由式(14)得到
这就是说,由A的假设条件完全确定了
实现了A的LU分解.
求解Ax=f等价于解两个三角方程组Ly=f与Ux=y,先后求解y与x,从而得到以下解三对角方程组的追赶法公式:
步1:
计算
的递推公式
步2:
解Ly=f:
步3:
解Ux=y:
将计算系数
及
的过程称为追的过程,将计算方程组的解
的过程称为赶的过程.
追赶法公式实际上就是把Gauss消去法用到求解三对角方程组上去的结果.
2.迭代法
迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法.迭代法具有存储单较较少、程序设计简单、原始系数矩阵在计算过程中始终不变的优点,但存在收敛性及收敛速度方面的问题.迭代法是解大型系数矩阵方程组(尤其是由微分方程离散后得到的大型方程组)的重要方法.
下面将介绍迭代法的一些基本理论及Jacobi迭代法、Gauss-Seidel迭代法、超松弛迭代法(SOR).
定理6(迭代法基本原理)
【9】设有方程组x=Bx+f,对于任意初始向量x(0)及任意f,解此方程的迭代解法(即x(k+1)=Bx(k)+f)收敛的充要条件是ρ(B)<
1.
(1)Jacobi迭代法
设有方程组
记作Ax=b(16)
A为非奇异矩阵且aij不等于0(i=1,2,3,…,n).将A分裂为A=D-L-U,其中
将式(16)第i(i=1,2,…,n)个方程组用aii去除再移项,得到等价方程组(17)
简记为x=B0x+f,其中B0=I-D-1A=D-1(L+U),f=D-1b
对于方程组(17)应用迭代法,得到(16)的Jacobi迭代公式(18)
设x(k)已经算出,由式(18)可计算下一次迭代向量x(k+1)
显然迭代公式的矩阵形式为
.
(2)Gauss-Seidel迭代法
由Jacobi方法迭代公式可知,迭代的每一步计算过程,都是用x(k)的全部分量来计算x(k+1)的所有分量,显然在计算第i个分量xi(k+1)时,已经计算出x1(k+1),x2(k+1),…xi-1(k+1)没有被利用.从直观上来看,最新计算出来的分量可能要比旧的分量要好一些.因此,对这些最新计算出来的第k+1次近似x(k+1)加以利用,就会得到所谓解的Gauss-Seidel迭代法
或写成
上面第二个式子利用了最新计算出来的变量x1(k+1),第i个式子利用了计算出来的最新分量xj(k+1)写成矩阵形式
Dx(k+1)=b+Lx(k+1)+Ux(k+1),(D-L)x(k+1)=b+Ux(k),
若设(D-L)-1存在,则x(k+1)=(D-L)-1Ux(k)+(D-L)-1b
于是Gauss-Seidel迭代公式的矩阵形式为x(k+1)=Gx(k)+f,其中G=(D-L)-1U,f=(D-L)-1b
(3)逐次超松弛迭代解法
逐次超松弛迭代法是Gauss-Seidel方法的一种加速方法,是解大型系数矩阵方程组的有效方法之一,它具有计算公式简单,程序设计简单,占用计算机内存较少等优点,但需要选择好的加速因子(即最佳松弛因子).
设有方程组Ax=b(19),其中
为非奇异矩阵,
且aii不等于0(i=1,2,…,n),分解A为A=D-L-U
设已知第k次迭代向量x(k+1)的分量xj(k+1)(j=1,2,…,i-1),要求计算分量xi(k+1)
首先用Gauss-Seidel迭代法定义辅助量(20):
再把xi(k+1)取为xi(k)与
某一个平均值(即加权平均),得到(21)
用(20)式代入(21)式,就得到解方程组Ax=b的逐次超松弛迭代公式(22)
其中ω称为松弛因子,或写成
显然,ω=1时,解式(19)的SOR方法就是Gauss-Seidel迭代法,ω<
1时,解式(22)为低松弛法,当ω>
1时,称式(22)为超松弛法.
四、解线性方程组的MATLAB命令
MATLAB求解线性方程组:
AX=B或XA=B
1.在MATLAB中,求解线性方程组时,主要采用除法运算符“/”和“\”.
如:
X=A\B表示求矩阵方程AX=B的解A\B等效于A的逆左乘B矩阵,也就是inv(A)*B;
X=B/A表示矩阵方程XA=B的解,而B/A等效于A矩阵的逆右乘B矩阵,也就B*inv(A).
对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数,方程X=B/A同理.
2.如果矩阵A不是方阵,其维数是m×
n,则有:
m=n,恰定方程,求解精确解;
m>
n,超定方程,寻求最小二乘解;
m<
n不定方程,寻求基本解,其中至多有m个非零元素.
针对不同的情况,MATLAB将采用不同的算法来求解.
(1)恰定方程组
恰定方程组由n个未知数的n个方程构成,方程有唯一的一组解,其一般形式可用矩阵,向量写成如下形式:
Ax=b其中A是方阵,b是一个列向量;
在线性代数教科书中,最常用的方程组解法有:
(1)利用Cramer公式来求解法;
(2)利用矩阵求逆解法,即x=A\b;
(3)利用Gauss消去法;
(4)利用LU法求解.
一般来说,对维数不高,条件数不大的矩阵,上面四种解法所得的结果差别不大.前三种解法的真正意义是在其理论上,而不是实际的数值计算.MATLAB中,出于对算法稳定性的考虑,行列式及逆的计算大都在LU分解的基础上进行.
在MATLAB中,求解这类方程组的命令十分简单,直接采用表达式:
x=A\b.
在MATLAB的指令解释器在确认变量A非奇异后,就对它进行LU分解,并最终给出解x;
若矩阵A的条件数很大,MATLAB会提醒用户注意所得解的可靠性.
如果矩阵A是奇异的,则Ax=b的解不存在,或者存在但不唯一;
如果矩阵A接近奇异时,MATLAB将给出警告信息;
如果发现A是奇异的,则计算结果为inf,并且给出警告信息;
如果矩阵A是病态矩阵,也会给出警告信息.
注意:
在求解方程时,尽量不要用inv(A)*b命令,而应采用A\b的解法.因为后者的计算速度比前者快、精度高,尤其当矩阵A的维数比较大时.另外,除法命令的适用行较强,对于非方阵A,也能给出最小二乘解.
(2)超定方程组
对于方程组Ax=b,A为n×
m矩阵,如果A列满秩,且n>
m.则方程组没有精确解,此时称方程组为超定方程组.线性超定方程组经常遇到的问题是数据的曲线拟合.对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;
还可以用广义逆来求,即x=pinv(A),所得的解不一定满足Ax=b,x只是最小二乘意义上的解.左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;
广义逆法是建立在对原超定方程直接进行householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;
五、应用
1.炼油厂模型
某石油公司有5个炼油厂,每个炼油厂都生产5种石油产品:
汽油、柴油、煤油、机油、液态石油气.已知从1桶原油中,第一个工厂生产出的汽油、柴油、煤油、机油、液态石油气分别是30、24、18、12、9L;
第二、三、四、五个工厂从1桶原油中生产的这五种油分别是28、25、20、10、9;
31、23、19、11、10;
29、22、17、13、8;
27、26、20、13、10L.现在需要104620L汽油,88010L柴油,68660L煤油,43240L机油,33690L液态石油气.本着节约资源与提高效益的原则,问给这5个工厂各安排多少桶原油来生产恰好满足这一需要?
解:
设分给5个炼油厂的原油桶数分别为x1,x2,x3,x4,x5
根据题意我们可以得到以下方程组:
方程组的系数行列式
所以方程组有唯一解.
经计算知,D1=864000,D2=702000,D3=648000,D4=626400,D5=1080000,所以
即给第一、二、三、四、五个工厂分别安排800,650,600,580,1000桶原油生产正好满足需要.
用MATLAB实现如下:
2.游船问题
某公园在湖的周围设有甲、乙、丙三个游船出租点,游客可以在任意一处租船,也可以在任意一处还船.工作人员估计租船和还船的情况如下表示:
还船处
甲
乙
丙
借船处
0.8
0.2
0.6
即从甲处租的船中有80%的在甲处还船,有20%的在乙处还船,等等.为了游客的安全,公园同时要建立一个游船维修站.问游船修检修站建在那个点最好?
显然,游船检修站应该修在拥有船只最多的那个出租点.但是,由于租船和还船的随机性,今天拥有船只最多的出租点不一定以后也经常拥有最多的船只.因此我们希望知道经过长时间的经营以后拥有船只最多的那个出租点.
我们假定公园里的船只基本上每天都被人租用,设经过长时间的经营,甲、乙、丙处分别有x1,x2,x3只船,则x1,x2,x3应该满足以下的要求:
整理可得,
即
这表明,经过长期的经营以后,甲、乙、丙三个出租点分别拥有游船总数的
由此不难看出,游船检修站应设在拥有船只最多的甲处最为合适.
六.总结
本文的主要内容就是以行列式、矩阵为工具讨论一些简单的线性方程组解的存在性、求解方法、解的结构以及应用.经过深入的学习我们发现一些方程组的系数矩阵大多比较复杂,我们利用高等代数中的解法并不能得到它的解,就试图用数值分析中的直接法中的最基本的Gauss消去法及其某些变形和迭代法的一些基本理论及Jacobi迭代法、Gauss-Seidel迭代法、超松弛迭代法,以及最小二乘法,并试图应用简单的数学类软件如MATLAB来实现求解.
在实际学习和解决问题时,我们会发现很多问题最后的求解过程都是求解线性方程组,因此学习线性方程组对大学生具有重要意义.
参考文献
[1]北京大学数学系.高等代数[M].北京:
高等教育出版社,1988.
[2]张禾瑞,郝鈵新.高等代数(第四版)[M].北京:
高等教育出版社,1999.
[3]丘维声.高等代数[M].北京:
高等教育出版社,1996.
[4]许绍元,赵礼峰.高等师范院校数学教学改革的研究与实践[J].淮北煤炭师范学院学报(自然科学版),2(2004),64-68.
[5]许绍元,陈亮.实变函数课程教学中培养学生科研能力的体会[J].淮北煤炭师范学院学报(自然科学版),2(2003),53-56.
[6]赵树嫄.线性代数(第三版[M]).北京:
中国人民大学出版社,2006.
[7]史明仁.线性代数600证明题详解[M].北京:
北京科学技术出版社,1985.
[8]萧永震等.空间解析几何解题指导[M].天津:
天津科学技术出版社,1990.
[9]陈辉,李文宇,张传芳数值计算方法哈尔滨哈尔滨工业大学出版社,2009.
[10]李庆扬,易大义,王能超.现代数值分析.北京高等教育出版社,1995.
[11]刘春风,何亚丽,应用数值分析北京冶金工业出版社2005.
指导教师
职称
成绩
评
语
说明:
1.成绩评定均采用五级分制,即优、良、中、及格、不及格.
2.评语内容包括:
学术价值、实际意义、达到水平、学术观点及论证有无错误等.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 线性方程组 求解 应用