关于线性方程组求解的论文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性方程组的求解问题

摘要:线性代数是代数学的一个重要组成部分,广泛应用于现代科学的许多分支。其核心问题之一就是线性方程组的求解问题。本文先简要介绍了线性方程组求解的历史,然后给出线性方程组解的结构。重点介绍了解线性方程组的几种方法:消元法,克拉默法则和利用向量空间概念求解线性方程组的方法。最后介绍了如何利用Matlab、Excel等常用电脑软件解线性方程。

关键词:线性方程组克拉默法则 Matlab

1.线性方程组求解的历史

线性方程组的解法,早在中国古代的数学著作《九章算术》方程章中已作了比较完整的论述。其中所述方法实质上相当于现代的对方程组的增广矩阵施行初等行变换从而消去未知量的方法,即高斯消元法。在西方,线性方程组的研究是在17世纪后期由莱布尼茨开创的。他曾研究含两个未知量的三个线性方程组组成的方程组。麦克劳林在18世纪上半叶研究了具有二、三、四个未知量的线性方程组,得到了现在称为克莱姆法则的结果。克莱姆不久也发表了这个法则。18世纪下半叶,法国数学家贝祖对线性方程组理论进行了一系列研究,证明了一元齐次线性方程组有非零解的条件是系数行列式等于零。法国数学家范德蒙不仅对行列式理论本身进行了开创性研究,而且把行列式应用于解线性方程组。英国数学家凯莱用矩阵表示线性方程组及线性方程组的解。19世纪,英国数学家史密斯和道奇森继续研究线性方程组理论,前者引进了方程组的增广矩阵和非增广矩阵的概念,后者证明了n个未知数m个方程的方程组相容的充要条件是系数矩阵和增广矩阵的秩相同。格拉斯曼则使用向量表示线性方程组的解。

2.线性方程组解的结构

n元线性方程组的一个解(c1,c2,……c n)是一个,维向量,当方程组有无穷多个解时,需要研究这些解向量之间的关系,以便更透彻地把握住它们。

关于齐次线性方程组的解的结构有以下结论:

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+……+k n-rηn-r

其中k1,k2,……k n-r取遍取遍数域P中全部数。

3.线性方程组的求解方法

3.1消元法

解线性方程组的最基本最有效的方法是消元法。它的做法是:先把线性方程组的增广矩阵经过矩阵的初等行变换化成阶梯形,然后去解相应的阶梯形方程组。或者把线性方程组的增广矩阵经过初等行变换化成行简化阶梯形,从而可立即写出方程组的解。

消元法是求解低阶多元线性方程组的方法,此时线性方程组必须是适定方程组,一般是用于二元一次或三元一次方程组,当未知元增多时,计算效率低甚至无法求解。

3.2克拉默法则

当系数行列式小为零时,适定方程组有惟一解,其解为:

(i=1,2,……,n)

其中D是系数行列式,D是在系数行列式基础之上结合方程组右边常数形成的新行列式)在此法则中,行列式的计算显得非常重要)利用行列式的性质计算行列式最为有效,对于二、三阶行列式可以利用对角线法则计算。

克拉默法则克服了消元法计算效率低甚至无法计算多元一次方程组的缺点,但是对于系数行列式等于零以及欠定或者超定方程组的情况,它是无能为力的)事实上,当未知元数过多时,克拉默法则的计算效率就很低。

3.3利用向量空间概念求解线性方程组

其实就是利用基础解析求解方程组。这里只说对非齐次线性方程组的解法,齐次方程组也可用类似方法。

设A∈F m*n,b=(b1,b2,……,bn),有非齐次线性

AX=b ②

令,则C总可经过一系列初等变换了初等行变换仅对前,n行施行,初等列变换中,最后一列只能作前而列的倍数加到该列上的变换夕,化为

其中D∈F m*n,E m1=0或(D,E)=r+1

方程组②式有解当民仅当E m1=0。

G中的N的各列为②式的导出组的基础解系,②式有解时,G中U n1为了②式的一个特解.方程组②式有解时,其通解为X = U n1+NH,其中H∈F(n-r)*1, 为任意的。

例1.解线性方程组

E=(0,0,0) ,U=(-2,1,0,0) ,η1=(8,-6,1,0),η2=(-7,5,0,1)

故方程组的一般解为X=U+k1η1+k2η2, k1,k2为任意数.

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

其中克拉默法则用行列式除法X i=det(D i)/det(D)来实现;逆阵乘积法用X=inv(D)*b 来实现; det(D)是系数矩阵D的行列式运算; inv(D)是D的逆阵运算。

上例中,系数矩阵D不为零,可以用克拉默法则和逆阵乘积法来求解。当系数行列式为零时,只能用初等变换来求解。对于初等变换,利用阶梯生成函数命令rref也可以轻松地实现,举例如下:

tic;

A=[3,-4,3,2,-1 ; 0, -6,0,-3, -3 ; 4, -3,4,2,-2 ; 1,1,1,0,-1 ; -2,6,-2,1,3] b=[2;-3;2;0;1 ];

B=[A,b],[UB,ip]=rref(B)

U0=UB([1:5], [1:5]),d=UB(:,6)

toc

UB为经过初等变换以后的行阶梯矩阵,可以轻松地求出方程组的解。

可见,MATLAB语言实现线性方程组的求解具有程序简单、直观的特点,同时还具有计算效率高的优点,在实际计算巾摆脱了系数矩阵阶数未知元数等的限制。

相关文档
最新文档