MATLAB 中使用以下函数计算矩阵逆矩阵:inv(A):计算可逆矩阵的逆矩阵pinv(A):计算不可逆矩阵的伪逆矩阵mldivide(A, B):计算 A 的逆矩阵并将其存储在 B 中,适用于可逆和不可逆矩阵(返回最小二乘解)

MATLAB 中计算逆矩阵
问题:如何在 MATLAB 中计算矩阵的逆矩阵?
回答:
MATLAB 中有几个函数可用于计算矩阵的逆矩阵:
- inv(A):这是最常见的函数,可用于计算可逆矩阵的逆矩阵。
- pinv(A):它提供广义逆矩阵,可用于计算不可逆矩阵的伪逆矩阵。
- mldivide(A, B):它使用矩阵左除法来计算 A 的逆矩阵,并将结果存储在 B 中。
详细解释:
inv(A)
- 只适用于可逆矩阵(行列式不为零)。
- 计算精确的逆矩阵。
- 如果矩阵不可逆,则会引发错误。
pinv(A)
- 计算广义逆矩阵,即使矩阵不可逆。
- 提供最小二乘解。
- 对于不可逆矩阵,它返回最小二乘解。
mldivide(A, B)
- 如果 A 可逆,则计算 A 的精确逆矩阵。
- 如果 A 不可逆,则返回最小二乘解。
- 它可以用于求解线性方程组:
X = mldivide(A, B)
代码示例:
<code>% 可逆矩阵 A = [2 1; 3 4]; invA = inv(A) % 不可逆矩阵 B = [1 2; 3 2]; pinvB = pinv(B) pseudInvB = mldivide(B, eye(2)) % 类似于 pinv(B) </code>
输出:
<code>invA = 1.0000 -0.5000 -0.7500 0.2500 pinvB = -0.5714 -0.8571 1.1429 1.7143 pseudInvB = -0.5714 -0.8571 1.1429 1.7143</code>










