求伪逆的三种方法:直接,SVD,QR
来源:互联网 发布:互联网 大数据征文 编辑:程序博客网 时间:2024/06/11 15:53
求伪逆的三种方法:直接,SVD,QR - [专业理论]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/shijuanfeng-logs/238839798.html
① 直接求解:
求导,令导数为0,结果如下: InvA=(ATA)-1AT
% 直接求伪逆
InvA = inv(A'*A)*A';
② SVD求解
%% SVD分解求伪逆
% 原理和公式:1. SVD分解得到的矩阵:U和V是正交阵,S是对角阵
% 2. 正交阵的逆=转置
% 3. 对角阵的逆=非零元素求倒
% Step1: 求解A的SVD分解
[U,S,V] = svd(A); % A = U*S*V'
% Step2: 将S中的非零元素求倒
T=S;
T(find(S~=0)) = 1./S(find(S~=0));
% Step3: 求invA
svdInvA = V * T' * U';
③ QR求解
%% QR分解求伪逆
% 适用于稀疏矩阵
% 原理和公式:1. QR分解得到的矩阵:Q是正交阵,R是非奇异上三角阵
% 2. 正交阵的逆=转置
% 3. 上(下)三角矩阵的逆也仍然是上(下)三角矩阵。不必用高斯消去法,向前替换法解方程。
% 但是具体的我不知道怎么用程序来写,这里仍旧用了matlab的函数。
[Q,R] = qr(A);
InvR = inv(R'*R)*R';
qrInvA =InvR*Q';
PS: 矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的分布没有规律,则称该矩阵为稀疏矩阵(sparse matrix)
0 0
- 求伪逆的三种方法:直接,SVD,QR
- 求伪逆的三种方法:直接,SVD,QR及具体的应用
- 求伪逆的三种方法:直接,SVD,QR及具体的应用
- 数值分析--矩阵QR分解的三种方法
- 矩阵的QR分解(三种方法)Python实现
- Android TextView里直接显示图片的三种方法
- Android TextView里直接显示图片的三种方法
- Android TextView里直接显示图片的三种方法
- Android TextView里直接显示图片的三种方法
- 求解线性方程组(SVD,QR,Gauss,LU)
- QR码的原理与识别方法
- CSharp工具生成QR码的方法
- 推荐系统中矩阵分解方法:svd,非对称svd和svd++的区别
- CSS实现圆角的三种方法以下直接给出代码:
- 不重起Windows 直接更改IP 地址的三种方法
- 学习笔记_JFame事件处理的三种方法(1)直接实现法
- 学习笔记_JFame事件处理的三种方法(3)类直接实现接口法
- 小米刷机OTA、 Recovery、 FASTBOOT三种方法直接的区别和联系
- 【错误总结之(一)】error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
- C++Primer 表达式
- 微乐的六位模式
- 移位操作
- RT-Thread官方程序串口乱码问题
- 求伪逆的三种方法:直接,SVD,QR
- 规则引擎Drools
- ERROR: "This virtual machine appears to be in use"
- Android多媒体-MediaRecorder 录制音视频
- Unity3D自带案例AngryBots分析(一)——Hierarchy及Project层次结构
- MessageBox弹不出对话框
- SQL Server 全文索引查询T-SQL学习笔记之一(Full-text index)
- C++访问控制
- java print stack