几种求矩阵伪逆的方法

A*x=y当A不可逆如何解x
求伪逆有五种方法,左右同时乘以A’,’chol()分解,qr() 分解,svd()分解和pinv()求伪逆,下面来比较一下哪个最优秀。
如果A是个355行3列的矩阵,经过计算,五个方式计算结果相同,对模型的拟合都是没有影响的。
如果A是个355行12列的矩阵(更高维),那么根据我对数据的拟合,结果如下:

深蓝线是数据,绿色的线是两边同时×A’,浅蓝色的线是pinv分解拟合出的模型,红线是qr拟合出的模型,黄线是svd分解拟合出的模型。这么浅显的看的话在高维下svd和两边同时×A’胜出,那么他们究竟谁更胜一筹,我们看一下第一范式,第二范式和Inf范式检验的结果:

可见在高维情况下是svd分解更胜一筹(范式结果低),低维下不要轻易用两边同时×A’,因为会出奇异矩阵警告。

几种求伪逆的方法如下(matlab代码):

result=(A'*A)\(A'*y) %两边同时乘A’
result_pinv=pinv(A)*y %pinv%svd
[U,S,V] = svd(A); T=S;T(find(S~=0)) = 1./S(find(S~=0));svdInvA = V * T' * U';alpha_svd=svdInvA*y;%qr[Q,R] = qr(A);
InvR =  inv(R'*R)*R';
qrInvA =InvR*Q';
alpha_qr=qrInvA*y;

————————————————

原文链接:https://blog.csdn.net/qq_41448372/article/details/105742441

【MATLAB】几种求矩阵伪逆的方法相关推荐

  1. matlab求矩阵违逆,两种求矩阵伪逆的方法

    伪逆矩阵是逆矩阵的广义形式.由于奇异矩阵或非方阵的矩阵不存在逆矩阵,但在matlab里可以用函数pinv(A)求其伪逆矩阵.基本语法为X=pinv(A),X=pinv(A,tol),其中tol为误差, ...

  2. 求矩阵伪逆的matlab方法,手把手教学

    1.定义矩阵a 2.求b,c b为a的线性无关的两列 c为a的行最简的线性无关的两行 3.求b的左逆和c的右逆 左逆和右逆的具体见一下例题: 4.求出结果即可 或者一步到位 有时候会出现小数,转变表达 ...

  3. Matlab求矩阵的逆(三种方法)

    Matlab求矩阵的逆(三种方法) 说明:若所求矩阵为非奇异矩阵(可逆矩阵),则可以精确求得其逆矩阵:若所求矩阵为奇异矩阵,则所求出的逆矩阵是近似的(不精确). 下面以矩阵A为例. inv()方法 A ...

  4. 求矩阵的逆的三种方法

    我们知道求矩阵的逆具有非常重要的意义,本文分享给大家如何针对3阶以内的方阵,求出逆矩阵的3种手算方法:待定系数法.伴随矩阵法.初等变换法(只介绍初等行变换) 待定系数法求逆矩阵 1 首先,我们来看如何 ...

  5. 机器人运动学---雅克比矩阵伪逆

    Problem 使用雅克比矩阵可以通过关节速度,得到EE的速度和角速度.如果雅克比矩阵是方阵且满稚可逆,这时,可以通过EE的线速度和角速度求出关节的速度. 以上是比较理想的情况. 但是,实际情况,往往 ...

  6. Fortran 求矩阵的逆、行列式的值

    #2019,10,8 更新: 重写部分程序,增加部分注释 学Fortran的第一天,就写了这么点东西,分享一下. 内容包括:求矩阵的逆.行列式的值 其中:求逆的方法是先求伴随矩阵再除以行列式的值, 求 ...

  7. C语言求矩阵的逆(高斯法)

    初等变换法是常用的矩阵求逆方法之一 相对于伴随法,初等行变换法有着较低的时间复杂度,可以进行相对高维的矩阵运算,但同时也会损失一点点精度. 伴随法可参考之前的博客:C语言求矩阵的逆(伴随法) 目录 数 ...

  8. C语言求矩阵的逆(伴随法)

    之前介绍了C语言用代数余子式求行列式 本次开始介绍如何用公式法对矩阵求逆,并用C语言将其实现. 之前程序有点小bug,已于2022年11月29日修改. 目录 数学原理 矩阵求逆的公式 数乘矩阵 程序设 ...

  9. python实现简单的求矩阵的逆

    简单记录一下,后续改进 python代码 #模26运算下,求矩阵的逆. #使用伴随矩阵求逆矩阵法. #整个精度保持在整数位(方便求模运算).import numpy as np #扩展欧几里得算法求最 ...

最新文章

  1. 为什么很多网站的验证码都设置得肉眼都很难识别?
  2. 挥手送别 2019,翘首期待 2020
  3. 英国计算机系学生黑掉校长邮箱:倒闭学校,取消考试!
  4. 傅里叶变换的Matlab代码
  5. Smali文件添加try/catch语句,出现“invalid use of move-exception”异常
  6. ts-node 学习笔记 - 如何解决在 Windows10 下不能直接运行 ts-node 的问题
  7. HDU 4920 Matrix multiplication(矩阵相乘)
  8. 新型APT组织正在攻击全球的政府实体
  9. jquery 时间相减获取天数_JQuery Datepicker实现JavaScript日期相减的小例子
  10. 软件开发团队中各个成员的英文简称
  11. 以迅雷链为首的中国区块链,用技术赋能行业实现突围
  12. 程序员工资真的很高么,月入几万的难道不是吹牛?
  13. Javaweb项目导出Excel文件无法下载问题
  14. 扩散模型(Diffusion Model)——由浅入深的理解
  15. 嵌入式睡眠监控报警仪的研究及设计
  16. 问题-某个程序改了ICO图标后编译后还是显示老图标?
  17. 20210115领扣刷题
  18. 利用Python自制贪吃蛇游戏
  19. 土壤C、N动态对大气臭氧污染的生态学响应
  20. Excel VBA 合并当前工作簿下的所有工作表

热门文章

  1. IDEA基本外观设置(主题、字体、鼠标、背景)
  2. ATT并非手机品牌 常见国外定制机运营商
  3. 《网络是怎样连接的》读书笔记
  4. 区块链真的能保护隐私吗?
  5. xcode怎样配置GLUT和GLTools
  6. 万豪参加进博会品牌+目的地策略继续深耕中国市场;加利福尼亚乐高乐园和法拉利推出互动式景点项目 | 全球旅报...
  7. jsp+ssm计算机毕业设计幼儿园管理系统【附源码】
  8. 斯坦福sr860锁相放大器原理介绍
  9. [erlang] [rebar依赖] app使用lager依赖
  10. 绝地求生刺激战场 4倍镜怎么压枪 刺激战场 4倍镜压枪技巧一览