Matlab --- 用Matlab求解线性方程组Ax=b的计算流程(叹为观止)

        众所周知,在求解矩阵的线性方程Ax=b时。我们往往会先求出矩阵A的逆,然后再根据公式Ax = b ~~~> x = A^{-1}b 求出x。(这是求解线性方程组的方法之一) 

        但是,如果你要是在matlab中,用这种方法计算x(即,调用matlab自带函数inv(A)),matlab就会提醒你,建议你用x=A\b来计算x,而不是先求逆,因为如果先求逆再求解线性方程组的话,会极大的增加计算误差。那么Matlab中的A\b究竟是什么呢?


Matlab的做法

        首先,Matlab会优先判断矩阵A是稠密矩阵也叫满矩阵(dense matrix),还是稀疏矩阵(sparse matrix)?然后,matlab会基于这一判断的结果分出两条主线。

A:求解稠密矩阵线性方程组的计算流程

在这里插入图片描述


B:求解稀疏矩阵线性方程组的计算流程

在这里插入图片描述




 



补充知识点:

1,稀疏矩阵和稠密矩阵

2,三角矩阵
在这里插入图片描述

注:点击图片看大图


三角矩阵的性质
在这里插入图片描述

注:点击图片看大图


3,伴随矩阵
在这里插入图片描述

注:点击图片可放大

在这里插入图片描述

4,置换矩阵(permutation matrix)

在这里插入图片描述

5,埃尔米特矩阵(Hermitian)
在这里插入图片描述


6,黑森贝格矩阵(Hessenberg matrix)

注:点击图片可放大

最后:
        首先,要设计不同矩阵类型的线性方程组的解法,本身就不是一件容易的事情。更加难得的是,matlab还设计了一系列的自动判断矩阵类型的算法,我觉得这又是一件难事。

 (全文完)

作者 --- 松下J27

2021年9月22日

格言摘抄:

心怀二意的人哪,要清洁你们的心。--- 《圣经》雅各书4章8节

Cleanse your hands, ye sinners; and purify your hearts, ye double minded.(KJV)

参考文献:
1,求解关于 x 的线性方程组 Ax = B - MATLAB mldivide \- MathWorks 中国此 MATLAB 函数 对线性方程组 A*x = B 求解。矩阵 A 和 B 必须具有相同的行数。如果 A 未正确缩放或接近奇异值,MATLAB 将会显示警告信息,但还是会执行计算。https://ww2.mathworks.cn/help/matlab/ref/mldivide.html

2,维基百科

(配图与本文无关)

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

松下J27

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值