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';
相关推荐
.30-06Springfield21 分钟前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
凌肖战2 小时前
力扣网C语言编程题:在数组中查找目标值位置之二分查找法
c语言·算法·leetcode
weixin_478689763 小时前
十大排序算法汇总
java·算法·排序算法
luofeiju3 小时前
使用LU分解求解线性方程组
线性代数·算法
SKYDROID云卓小助手4 小时前
无人设备遥控器之自动调整编码技术篇
人工智能·嵌入式硬件·算法·自动化·信号处理
ysa0510304 小时前
数论基础知识和模板
数据结构·c++·笔记·算法
GEEK零零七4 小时前
Leetcode 1103. 分糖果 II
数学·算法·leetcode·等差数列
今天背单词了吗9804 小时前
算法学习笔记:7.Dijkstra 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·数据结构·笔记·算法
重庆小透明6 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
desssq6 小时前
力扣:70. 爬楼梯
算法·leetcode·职场和发展