matlab求矩阵的伪逆或者负二分之一次方

如果X不是满秩矩阵的时候,那么不能使用inv()函数来求X的逆,因为X此时不存在逆,但是我们可以求X的伪逆。

(1)有以下两种方法求X的伪逆

假设 X=[1 2 1;1 2 1;2 3 4];

1, pinvX=pinv(X);

2,

matlab 复制代码
[U,D,P]=svd(X);
r=rank(X);
Dnew=zeros(size(D));
Dnew(1:r,1:r)=diag(diag(D(1:r,1:r)).^(-1));
eigX=P*Dnew*U';

二者是等价的。

(2)求X的负二分之一次方只可以用:

matlab 复制代码
pinvX=pinv(X)
pinvX=sqrtm(pinvX);

这样却不可以

matlab 复制代码
[U,D,P]=svd(X);
r=rank(X);
Dnew=zeros(size(D));
Dnew(1:r,1:r)=diag(diag(D(1:r,1:r)).^(-1/2));
eigX=P*Dnew*U';
相关推荐
mit6.8248 小时前
8.27 网格memo
c++·算法
jeffery8928 小时前
4056:【GESP2403八级】接竹竿
数据结构·c++·算法
Ghost-Face9 小时前
图论基础
算法
默归9 小时前
分治法——二分答案
python·算法
一枝小雨10 小时前
【数据结构】排序算法全解析
数据结构·算法·排序算法
略知java的景初10 小时前
深入解析十大经典排序算法原理与实现
数据结构·算法·排序算法
岁忧11 小时前
(LeetCode 每日一题) 498. 对角线遍历 (矩阵、模拟)
java·c++·算法·leetcode·矩阵·go
kyle~12 小时前
C/C++---前缀和(Prefix Sum)
c语言·c++·算法
liweiweili12612 小时前
main栈帧和func栈帧的关系
数据结构·算法
Greedy Alg12 小时前
LeetCode 560. 和为 K 的子数组
算法·leetcode·职场和发展