您当前的位置: 首页 >  matlab

松下J27

暂无认证

  • 0浏览

    0关注

    114博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

松下J27 发布时间:2021-09-22 15:15:50 ,浏览量:0

        众所周知,在求解矩阵的线性方程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

关注
打赏
1660635678
查看更多评论
立即登录/注册

微信扫码登录

0.0382s