线性代数线性方程组的求解

Posted yxwkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性代数线性方程组的求解相关的知识,希望对你有一定的参考价值。

       上一篇文章讲述了Ax=0的解和矩阵A的零空间。这里我们讨论Ax=b的解以及矩阵A的列空间。

       Ax=0是肯定有解的,由于总存在x为全零向量。使得方程组成立。而Ax=b是不一定有解的。我们须要高斯消元来确定。我们还是利用上一篇讲述了Ax=0的解的矩阵A来举例说明:

技术分享

我们能够得到上述方程组的增广矩阵(等式右側不是全零向量,消元时值会改变,所以须要用增广矩阵)例如以下:

技术分享

然后我们进行高斯消元能够得到:

技术分享

从上面的矩阵能够看出。等式成立必须有

技术分享

我们如果一个满足上面条件的b向量,比如:b=[1 5 1+5];而且令两个自由变量x2=0,x4=0,则我们将消元后的矩阵写成方程组的形式例如以下:

技术分享

得到的解为:

技术分享


Xc是这个方程组的一个特解。由于当X2,X4取不同的值时。会得到不同的特解。

那么我们如何得到方程的同解呢?即如何用一般形式来表示全部的特解?

求解Ax=b的过程:
1、求解特解Xc
2、求解Ax=0的解Xn
Ax=b的解就是特解Xc+Xn。证明例如以下:
技术分享

Xc我们上面已经得到,Xn在上一篇文章中得到。则通解能够表示为:

技术分享

至此。我们就得到了Ax=b的解。
通过上面的分析求解,我们知道当b满足下式时。方程组有解:
技术分享

实际上,方程有解的条件是向量b属于矩阵A的列空间。即向量b能够表示为矩阵A的各列的线性组合。

比如上面的样例:

技术分享

方程的解就是矩阵A中各列前面的系数。


以下推广到更一般的情况,我们以矩阵A的不同情况来看解的结构(如果矩阵A为m*n的矩阵,秩为r):
1、r=n<m,即列满秩(全部列都有主元)
     因为全部列都有主元,则自由变量的个数为0。矩阵A的零空间中仅仅有零向量。Ax=b的解的个数为0个或者1个.
     举例说明:
技术分享

  当b=[4 3 6 7]时,Ax=b的唯一解为x=[1 1]。



2、r=m<n,即行满秩(全部行都有主元)
     因为全部行都有主元,消元后不会出现全为0的行,则Ax=b有无穷多解。

且自由变量的个数为n-r,矩阵A的零空间中不仅仅有零向量。


     比如:
技术分享

3、r=m=n。即列、行都满秩(矩阵可逆)
     因为列、行都满秩,则具有列满秩,行满秩的一些性质:零空间仅仅有零向量,方程总有解且解唯一。

技术分享

4、r<m,r<n,非满秩矩阵

技术分享

Ax=b有无穷多解或则没有解。

从上面的四种情况的讨论。我们能够总结例如以下:
假设想看一个线性方程组的解的情况,我们能够通过高斯消元法得到矩阵A的最简形式R,R的可能情况例如以下:
技术分享
这四种情况分别相应的解的情况为:
1、唯一解或无解
2、无穷多解
3、唯一解
4、无解或无穷多解

原文:http://blog.csdn.net/tengweitw/article/details/40921003

作者:nineheadedbird










































以上是关于线性代数线性方程组的求解的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab求解齐次线性方程组

matlab中如何求解齐次线性方程组(代数矩阵)的非零解

数学实验MATLAB 求解齐次线性方程组

线性代数线性方程组的求解

如何用matlab求解齐次线性方程组?举个例子说明

python 求解线性方程组