MATLAB----矩阵求逆的123!

方阵求逆

奇异矩阵:行列式为0的矩阵

非奇异矩阵:行列式不为0的矩阵,即可逆矩阵

对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)

对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆

非方阵

如果不是方阵的话,会有个广义逆矩阵(伪逆),matlab里面用pinv()实现。
基本语法为X=pinv(A),X=pinv(A,tol),其中tol为误差,pinv为pseudo-inverse的缩写:max(size(A))*norm(A)*eps。函数返回一个与A的转置矩阵A’ 同型的矩阵X,并且满足:AXA=A,XAX=X.此时,称矩阵X为矩阵A的伪逆,也称为广义逆矩阵。

>> A=rand(2,3)
A =
    0.9572    0.8003    0.4218
    0.4854    0.1419    0.9157
>> B=pinv(A)
B =
    0.5985   -0.0838
    0.7633   -0.5430
   -0.4355    1.2206
>> A*B*A
ans =
    0.9572    0.8003    0.4218
    0.4854    0.1419    0.9157

接近奇异的矩阵求逆

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =
1.925555e-20.

矩阵中的元素有的很接近,可能这样导致了矩阵接近奇异矩阵,出现上述警告。但是从数学上说该矩阵并非奇异矩阵,想求出准确的逆矩阵

总结一下,就是首先给矩阵乘以一个常数,目的是使矩阵的行列式不至于太小,而后再用12楼的方法,用sym转化后计算。

12楼的方法:

现在的matla的符号计算能力不错!我的2013版。 可以开始时,转化为符号。 如 a=inv(sym([1e-29 1e-17;1e-16
1e-3])); a =

[ 1000000000000000000000000000000/9, -10000000000000000/9] [
-100000000000000000/9, 10000/9]

奇异矩阵的判断

奇异矩阵一般可以通过求秩(rank)来判断
奇异矩阵不是满秩

参考链接

参考链接

参考链接

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰果豆豆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值