【线性代数】线性方程组的求解「建议收藏」

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

大家好,又见面了,我是全栈君。

       
上一篇文章讲述了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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115720.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 【转载】Socket通讯原理以及TCP、IP三次握手机制分析

    【转载】Socket通讯原理以及TCP、IP三次握手机制分析

    2021年11月18日
  • xshell怎么退出vi_xshell5

    xshell怎么退出vi_xshell5最近在学习Linux时,初次使用Vi编辑模式编辑文本,但是编辑完成之后,不知道怎么退出编辑模式,然后在网上查找了一番,特此分享给各位老铁:下面总结一些vi退出命令,学习!进入编辑模式,按o进行编辑编辑结束,按ESC键跳到命令模式,然后输入退出命令::w 保存文件但不退出vi编辑:w! 强制保存,不退出vi编辑:wfile 将修改另存到file中,不退出vi…

  • 五子棋人机对战思路「建议收藏」

    五子棋人机对战思路「建议收藏」五子棋人机对战:人机对战,我们可以想象一下我们在玩QQ游戏五子棋时的场景,根据每次下的步骤来分析电脑是怎样解析我们下棋的步骤的。下五子棋的步骤:1、第一步,黑子先下2、白子的第一步的最好的位置就是在黑子周围的八个点上3、接着黑子的第二步必然也是根据白子周围的八个点和自己的黑子所在的位置来下。4、如此循环下去。。。。那么对于计算机来说,就是让他找到第一个黑子周围的八个点,并且随机选中一个下白子。…

  • vue响应式原理的实现

    vue响应式原理的实现Vue最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的JavaScript对象。而当你修改它们时,视图会进行更新。这使得状态管理非常简单直接,不过理解其工作原理同样重要,这样你可以避开一些常见的问题。—-官方文档引言Vue的数据双向绑定,响应式原理,其实就是通过Object.defineProperty()结合发布者订阅者模式来实现的。Observer通过O…

  • python游戏代码200行_python 贪吃蛇

    python游戏代码200行_python 贪吃蛇python语言,总所周知是比较简单的,而且代码也不会像java那样多,下面就使用python的第三方库pygame进行开发一个贪吃蛇游戏。1.pygame的安装直接在cmd当中使用pipinstallpygame进行安装。或者在pycharm当中自动导入安装也OK2.全局变量的定义在代码当中会使用到很多这种变量的值,直接在最开始进行定义,后面获取变量即可W=600#屏幕宽H=400#高fps=12#帧率size=(W,H)ROW=

  • 非常好用的上位机软件(功能强大)——匿名四轴上位机「建议收藏」

    非常好用的上位机软件(功能强大)——匿名四轴上位机「建议收藏」提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言随着单片机开发,调试工具就必不可少,本文就介绍匿名四轴上位机的基础知识。提示:以下是本篇文章正文内容,下面案例可供参考一、什么是上位机上位机是指可以直接发出操控命令的计算机,一般是PC/hostcomputer/mastercomputer/uppercomputer,屏幕上显示各种信号变化(.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号