欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab/Octave 求矩阵的M-P逆(pinv)

程序员文章站 2022-07-12 10:11:26
...

1 使用pinv命令计算非方阵的广义逆

pinv被称为伪逆,其实就是Moore-Penrose逆,因为任何矩阵都唯一存在M-P逆,若为方阵,M-P逆和逆相等。

A=[1 1 0 1; 0 1 1 0; 1 2 1 1]
A =

          1          1          0          1
          0          1          1          0
          1          2          1          1
M-P逆:
pinv(A)
ans =

        1/3      -4/15       1/15
          0        1/5        1/5
       -1/3       7/15       2/15
        1/3      -4/15       1/15

2 M-P逆计算公式

Matlab/Octave 求矩阵的M-P逆(pinv)
下面验证下,我觉得多此一举哈;

>> B=[1 1;0 1; 1 2]
B =

          1          1
          0          1
          1          2
>> D=[1 0 -1 1; 0 1 1 0]
D =

   1   0  -1   1
   0   1   1   0
>> D'*inv(D*D')*inv(B'*B)*B'
ans =

        1/3      -4/15       1/15
          0        1/5        1/5
       -1/3       7/15       2/15
        1/3      -4/15       1/15

结果和上面的pinv()结果一致。
Matlab/Octave 求矩阵的M-P逆(pinv)

相关标签: Matlab/Octave