浅谈线性方程组的求解及其应用
【摘要】 线性代数是代数学的一个重要组成部分,广泛应用于现代科学的许多
分支。其核心问题之一就是线性方程组的求解问题。本文先简要介绍了线性方程
组求解的历史,然后给出线性方程组解的结构。重点介绍了解线性方程组的几种
方法:消元法,克拉默法则求解线性方程组的方法。最后介绍了如何利用Matlab
常用电脑软件解线性方程。
关键词:线性方程组 克拉默法则 Matlab
1. 线性方程组求解的历史
线性方程组的解法,早在中国古代的数学著作《九章算术》方程章中已作
了比较完整的论述。其中所述方法实质上相当于现代的对方程组的增广矩阵施行
初等行变换从而消去未知量的方法,即高斯消元法。在西方,线性方程组的研究
是在17世纪后期由莱布尼茨开创的。他曾研究含两个未知量的三个线性方程组组
成的方程组。麦克劳林在18世纪上半叶研究了具有二、三、四个未知量的线性方
程组,得到了现在称为克莱姆法则的结果。克莱姆不久也发表了这个法则。18
世纪下半叶,法国数学家贝祖对线性方程组理论进行了一系列研究,证明了一元
齐次线性方程组有非零解的条件是系数行列式等于零。
2. 线性方程组解的结构
n元线性方程组的一个解(c1,c2,……cn)是一个,维向量,当方程组有无穷多
个解时,需要研究这些解向量之间的关系,以便更透彻地把握住它们。
关于齐次线性方程组的解的结构有以下结论:
1) 定义1齐次线性方程组的一组解η1,η2……ηt称为该方程组的一个基础解
系,如果
a) 该方程组的任一解都能表成η1,η2……ηt的线性组合。
b) η1η2……ηt线性无关。
2) 齐次线性方程组的两个解的和还是解,一个解的倍数还是解。
3) 齐次线性方程组有非零解时必定存在基础解系,并且一个基础解系里有n-r
个解,其中n是未知量的个数,r是系数矩阵的秩。如果系数在数域P中的齐
次线性方程组
①
的一个基础解系是: η1,η2……ηn-r,则①的全部解为
k1η1+k2η2+……+kn-rηn-r
其中k1,k2,……kn-r取遍取遍数域P中全部数。
3. 线性方程组的求解方法
3.1消元法
解线性方程组的最基本最有效的方法是消元法。它的做法是:先把线性方程
组的增广矩阵经过矩阵的初等行变换化成阶梯形,然后去解相应的阶梯形方程
组。或者把线性方程组的增广矩阵经过初等行变换化成行简化阶梯形,从而可立
即写出方程组的解。
消元法是求解低阶多元线性方程组的方法,此时线性方程组必须是适定方程
组,一般是用于二元一次或三元一次方程组,当未知元增多时,计算效率低甚至
无法求解。
3.2克拉默法则
当系数行列式小为零时,适定方程组有惟一解,其解为:
(i=1,2,……,n)
其中D是系数行列式,D是在系数行列式基础之上结合方程组右边常数形成的
新行列式)在此法则中,行列式的计算显得非常重要)利用行列式的性质计算行列
式最为有效,对于二、三阶行列式可以利用对角线法则计算。
克拉默法则克服了消元法计算效率低甚至无法计算多元一次方程组的缺点,
但是对于系数行列式等于零以及欠定或者超定方程组的情况,它是无能为力的)
事实上,当未知元数过多时,克拉默法则的计算效率就很低。
4. 线性方程组的解法在MATLAB中的实践
MATLA B语言是一种以矩阵运算为基础的计算语言,对于实现线性方程组的求
解非常方便、对一个四兀一次方程组的求解,可以用克拉默法则和逆阵乘积法来
实现,程序如下:
tic;
D=[1 1 1 1 ; 1 2 -1 4 ; 2 -3 -1 -5;3 1 2 11 ];
det(D)
b=[5 -2 -2 0];
D1=[5 1 1 1 ; -2 2-1 4 ; -2 -3 -1 -5 ; 0 1 2 11];
D2=[1 5 1 1 ; 1 -2-1 4 ; 2 -2 -1 -5 ; 3 0 2 11];
D3=[1 1 5 1 ; 1 2 -2 4 ; 2 -3 -2 -5 ; 3 1 0 11];
D4=[1 1 1 5 ; 1 2 -1 -2 ; 2 -3 -1 -2 ; 3 1 2 0];
X1=det(D1)/det(D);
X2==det(D2)/det(D);
X3=det(D3)/det(D);
X4=det(D4)/det(D);
X5=inv(D)*b;
toc
其中克拉默法则用行列式除法Xi=det(Di)/det(D)来实现;逆阵乘积法用
X=inv(D)*b来实现; det(D)是系数矩阵D的行列式运算; inv(D)是D的逆阵运算。 上例中,系数矩阵D不为零,可以用克拉默法则和逆阵乘积法来求解。当系数行
列式为零时,只能用初等变换来求解。对于初等变换,利用阶梯生成函数命令rref
也可以轻松地实现.
可见,MATLAB语言实现线性方程组的求解具有程序简单、直观的特点,同时
还具有计算效率高的优点,在实际计算巾摆脱了系数矩阵阶数未知元数等的限
制。
5. 总结
本文首先介绍了一些线性组解法的历史,然后主要介绍了线性方程组的几种
解法。消元法,克拉默法则求解线性方程组。线性方程组是线性代数中一个最重
要的内容,它除了本文介绍的几种解题的方法以及应用外,还有很多其它的解题
方法以及更多广泛的应用.它是数学以及其它理工科解题时必不可少的知识之
一。对线性方程组的解题方法以及它的应用,也会一直不断的研究下去。
参考文献
【1】 李尚志,线性代数.[M].高等教育出版社
【2】 李排昌.矩阵与解线性方程组[J].中国人民公安大学学报.2011年
【3】 李桂荣、韩忠月、梁超.线性方程组的简便解法[J].德州学院学报.
2007年8月.第23卷(第4期)
【4】 姬五胜.线性方程组解法及其MATLAB实践[J]天水师范学院学报.2009年3
月, 第29卷(第2期)
【5】 陈建莉.线性方程组解法新探[J]纺织高校基础科学学报.2008年6月.第21
卷(第2期)
浅谈线性方程组的求解及其应用
【摘要】 线性代数是代数学的一个重要组成部分,广泛应用于现代科学的许多
分支。其核心问题之一就是线性方程组的求解问题。本文先简要介绍了线性方程
组求解的历史,然后给出线性方程组解的结构。重点介绍了解线性方程组的几种
方法:消元法,克拉默法则求解线性方程组的方法。最后介绍了如何利用Matlab
常用电脑软件解线性方程。
关键词:线性方程组 克拉默法则 Matlab
1. 线性方程组求解的历史
线性方程组的解法,早在中国古代的数学著作《九章算术》方程章中已作
了比较完整的论述。其中所述方法实质上相当于现代的对方程组的增广矩阵施行
初等行变换从而消去未知量的方法,即高斯消元法。在西方,线性方程组的研究
是在17世纪后期由莱布尼茨开创的。他曾研究含两个未知量的三个线性方程组组
成的方程组。麦克劳林在18世纪上半叶研究了具有二、三、四个未知量的线性方
程组,得到了现在称为克莱姆法则的结果。克莱姆不久也发表了这个法则。18
世纪下半叶,法国数学家贝祖对线性方程组理论进行了一系列研究,证明了一元
齐次线性方程组有非零解的条件是系数行列式等于零。
2. 线性方程组解的结构
n元线性方程组的一个解(c1,c2,……cn)是一个,维向量,当方程组有无穷多
个解时,需要研究这些解向量之间的关系,以便更透彻地把握住它们。
关于齐次线性方程组的解的结构有以下结论:
1) 定义1齐次线性方程组的一组解η1,η2……ηt称为该方程组的一个基础解
系,如果
a) 该方程组的任一解都能表成η1,η2……ηt的线性组合。
b) η1η2……ηt线性无关。
2) 齐次线性方程组的两个解的和还是解,一个解的倍数还是解。
3) 齐次线性方程组有非零解时必定存在基础解系,并且一个基础解系里有n-r
个解,其中n是未知量的个数,r是系数矩阵的秩。如果系数在数域P中的齐
次线性方程组
①
的一个基础解系是: η1,η2……ηn-r,则①的全部解为
k1η1+k2η2+……+kn-rηn-r
其中k1,k2,……kn-r取遍取遍数域P中全部数。
3. 线性方程组的求解方法
3.1消元法
解线性方程组的最基本最有效的方法是消元法。它的做法是:先把线性方程
组的增广矩阵经过矩阵的初等行变换化成阶梯形,然后去解相应的阶梯形方程
组。或者把线性方程组的增广矩阵经过初等行变换化成行简化阶梯形,从而可立
即写出方程组的解。
消元法是求解低阶多元线性方程组的方法,此时线性方程组必须是适定方程
组,一般是用于二元一次或三元一次方程组,当未知元增多时,计算效率低甚至
无法求解。
3.2克拉默法则
当系数行列式小为零时,适定方程组有惟一解,其解为:
(i=1,2,……,n)
其中D是系数行列式,D是在系数行列式基础之上结合方程组右边常数形成的
新行列式)在此法则中,行列式的计算显得非常重要)利用行列式的性质计算行列
式最为有效,对于二、三阶行列式可以利用对角线法则计算。
克拉默法则克服了消元法计算效率低甚至无法计算多元一次方程组的缺点,
但是对于系数行列式等于零以及欠定或者超定方程组的情况,它是无能为力的)
事实上,当未知元数过多时,克拉默法则的计算效率就很低。
4. 线性方程组的解法在MATLAB中的实践
MATLA B语言是一种以矩阵运算为基础的计算语言,对于实现线性方程组的求
解非常方便、对一个四兀一次方程组的求解,可以用克拉默法则和逆阵乘积法来
实现,程序如下:
tic;
D=[1 1 1 1 ; 1 2 -1 4 ; 2 -3 -1 -5;3 1 2 11 ];
det(D)
b=[5 -2 -2 0];
D1=[5 1 1 1 ; -2 2-1 4 ; -2 -3 -1 -5 ; 0 1 2 11];
D2=[1 5 1 1 ; 1 -2-1 4 ; 2 -2 -1 -5 ; 3 0 2 11];
D3=[1 1 5 1 ; 1 2 -2 4 ; 2 -3 -2 -5 ; 3 1 0 11];
D4=[1 1 1 5 ; 1 2 -1 -2 ; 2 -3 -1 -2 ; 3 1 2 0];
X1=det(D1)/det(D);
X2==det(D2)/det(D);
X3=det(D3)/det(D);
X4=det(D4)/det(D);
X5=inv(D)*b;
toc
其中克拉默法则用行列式除法Xi=det(Di)/det(D)来实现;逆阵乘积法用
X=inv(D)*b来实现; det(D)是系数矩阵D的行列式运算; inv(D)是D的逆阵运算。 上例中,系数矩阵D不为零,可以用克拉默法则和逆阵乘积法来求解。当系数行
列式为零时,只能用初等变换来求解。对于初等变换,利用阶梯生成函数命令rref
也可以轻松地实现.
可见,MATLAB语言实现线性方程组的求解具有程序简单、直观的特点,同时
还具有计算效率高的优点,在实际计算巾摆脱了系数矩阵阶数未知元数等的限
制。
5. 总结
本文首先介绍了一些线性组解法的历史,然后主要介绍了线性方程组的几种
解法。消元法,克拉默法则求解线性方程组。线性方程组是线性代数中一个最重
要的内容,它除了本文介绍的几种解题的方法以及应用外,还有很多其它的解题
方法以及更多广泛的应用.它是数学以及其它理工科解题时必不可少的知识之
一。对线性方程组的解题方法以及它的应用,也会一直不断的研究下去。
参考文献
【1】 李尚志,线性代数.[M].高等教育出版社
【2】 李排昌.矩阵与解线性方程组[J].中国人民公安大学学报.2011年
【3】 李桂荣、韩忠月、梁超.线性方程组的简便解法[J].德州学院学报.
2007年8月.第23卷(第4期)
【4】 姬五胜.线性方程组解法及其MATLAB实践[J]天水师范学院学报.2009年3
月, 第29卷(第2期)
【5】 陈建莉.线性方程组解法新探[J]纺织高校基础科学学报.2008年6月.第21
卷(第2期)