欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Matlab 的逆(inv)和伪逆(pinv)

最编程 2024-04-10 16:36:40
...


在了解逆和伪逆之前,我们先来了解一下是线性代数里面奇异矩阵和非奇异矩阵是什么。

首先,矩阵是方阵,即矩阵的行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵。

奇异矩阵

奇异矩阵的秩不是满秩,矩阵的行列式|A|=0。同时矩阵A是奇异矩阵,则AX = 0有无穷解,AX = b有无穷解或者误解。

非奇异矩阵

非奇异矩阵,矩阵行列式|A|≠0,同时AX = 0有且只有唯一零解,AX = b有唯一解。

逆矩阵

设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。

inv:

非奇异矩阵求逆

解方程AX = B

X = inv(A)*B

实际上可以写成X = A\B

这样比求逆之后代入精度要高

A\B = pinv(A)B
A/B = A
pinv(B)

pinv

pinv 是广义逆。

什么是伪逆呢?

对于方阵A,若有方阵B,使得:AB = BA = I,则称B为A的逆矩阵。

如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到与A的转置矩阵A’同型的矩阵B,使得:

ABA = B

BAB = A

此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。因此为逆矩阵与原阵相乘不一定时单位阵。

当A可逆时,B就是A的逆矩阵,否则就是广义逆。



推荐阅读