矩阵的低秩逼近以及逼近后的误差计算——matlab实现

这篇具有很好参考价值的文章主要介绍了矩阵的低秩逼近以及逼近后的误差计算——matlab实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.矩阵的低秩逼近

1.1 低秩矩阵的创建

A A A m × n m×n m×n大小的矩阵,则 s v d svd svd分解以后 [ U S V ] = s v d ( A ) [U S V] = svd(A) [USV]=svd(A)里面, U U U m × m m×m m×m S S S m × n m×n m×n V V V n × n n×n n×n

A = randn(8,8);%首先随机创建一个8×8的矩阵
[U S V] = svd(A);%对矩阵进行svd分解

%低秩矩阵逼近的构建
k = 5;%选择秩为k去逼近A(注意:此时A的秩最多为8)
Ak = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';%k=5,表明使用秩5逼近原矩阵

1.2 秩1矩阵

1.1表述的低秩逼近写的是用秩为k的矩阵去逼近原矩阵A。
但是其实可以在细分一点。矩阵A其实可以拆解成全部秩为1的矩阵相加得到。公式如下:
A = ∑ i = 1 k δ i p i q i T = δ 1 p 1 q 1 T + δ 2 p 2 q 2 T + . . . + δ k p k q k T A=\sum_{i=1}^{k}\delta_{i}p_{i}q_{i}^{T}=\delta_{1}p_{1}q_{1}^{T}+\delta_{2}p_{2}q_{2}^{T}+...+\delta_{k}p_{k}q_{k}^{T} A=i=1kδipiqiT=δ1p1q1T+δ2p2q2T+...+δkpkqkT

其中 p i p_{i} pi为左奇异矩阵 U U U里面的列向量, δ i \delta_{i} δi为S里面的奇异值, q i q_{i} qi为右奇异矩阵的列向量。

例如:
用1.1去构建的秩2矩阵
k = 2;%选择秩为2去逼近A(此时拿了前两个奇异值去构建的逼近矩阵)
Ak = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';%k=5,表明使用秩2逼近原矩阵
用1.2去构建的两个秩1矩阵
δ 1 p 1 q 1 T \delta_{1}p_{1}q_{1}^{T} δ1p1q1T δ 2 p 2 q 2 T \delta_{2}p_{2}q_{2}^{T} δ2p2q2T
两者关系
Ak= δ 1 p 1 q 1 T + δ 2 p 2 q 2 T \delta_{1}p_{1}q_{1}^{T}+\delta_{2}p_{2}q_{2}^{T} δ1p1q1T+δ2p2q2T

二.逼近的矩阵与原矩阵的误差计算

2.1 常规的矩阵与原矩阵的误差计算

norm(A-Ak) ;%1.2的秩1矩阵就拿这个来算即可

2.2 理论直接看出

有一个theorem ,指出一个矩阵A及其秩k近似的矩阵Ak之间的误差具有由A的第k+1个奇异值给定的。

三.example

矩阵的低秩逼近以及逼近后的误差计算——matlab实现
参考资料:http://www.uwenku.com/question/p-rfkumipp-zt.html
侵权请联系文章来源地址https://www.toymoban.com/news/detail-422296.html

到了这里,关于矩阵的低秩逼近以及逼近后的误差计算——matlab实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • (最优化理论与方法)第一章最优化简介-第二节:最优化典型实例之稀疏优化和低秩矩阵恢复

    (最优化理论与方法)第一章最优化简介-第二节:最优化典型实例之稀疏优化和低秩矩阵恢复

    考虑下面线性方程组的求解问题,其中 x ∈ R n , b ∈ R m xin R^{n},bin R^{m} x ∈ R n , b ∈ R m ,矩阵 A ∈ R m × n Ain R^{m×n} A ∈ R m × n ,且向量 b b b 的维数远小于向量 x x x 的维数,也即 m m m n n n A x = b Ax=b A x = b 在相关问题中,当我们建立这样的模型后,常常希望 解出向量

    2024年02月08日
    浏览(12)
  • 数学建模-------误差来源以及误差分析

    数学建模-------误差来源以及误差分析

    绝对误差 :精确值-近似值; 举个例子:从A到B,应该有73千米,但是我们近似成了70千米;从C到D,应该是1373千米,我们近似成了1370千米,如果使用绝对误差,结果都是3,显然无法衡量我们误差的大小,这个时候我们引入了相对误差; 相对误差 :精确值-近似值/精确值;我

    2024年03月10日
    浏览(20)
  • 【MATLAB】matlab曲线拟合与矩阵计算技巧

    【MATLAB】matlab曲线拟合与矩阵计算技巧

    目录 1.曲线拟合定义 2.数据预处理 3.数据拟合 4.数据拟合matlab编程例子 5.数据拟合函数表 6.matlab中常用插值方法 7.矩阵的特征值分解         在实际工程应用和科学实践中,经常需要寻求两个(或多个)变量间的关系,而实际去只能 通过观测得到一些离散的数据点。针对这

    2024年02月02日
    浏览(8)
  • 用matlab计算雅可比矩阵

    用matlab计算雅可比矩阵

    如何用matlab轻松算出雅可比矩阵? 举例: 已知函数:f1=-x1+x2 f2=x1-x2-x2^3 求: 具体步骤: 1、matlab里定义2个变量 2、输入f的两个表达式 3、直接调用jacobian函数

    2024年02月11日
    浏览(11)
  • matlab 计算矩阵的条件数

    matlab 计算矩阵的条件数

    本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。

    2024年02月09日
    浏览(9)
  • 追赶法求解块三对角矩阵以及matlab代码实现

    追赶法求解块三对角矩阵以及matlab代码实现

    数值分析课的作业 单从题目来看,矩阵A和矩阵B都是三对角矩阵 参考资料:块三对角矩阵方程的追赶法及其应用 - 豆丁网Docin 推导过程如下:  求解matlab程序: 注意,此处要使用cell数据类型将矩阵存储到A中,所以均采用“{}”,最后调用函数输入n就行啦^_^ 

    2024年02月14日
    浏览(12)
  • 用matlab计算带变量的矩阵

    用matlab计算带变量的矩阵

    1、定义矩阵中的变量 如:syms p11 p12 p22 2、输入矩阵 如:A=[0 1;-2 -3] P=[p11 p12;p12 p22] 3、根据等量关系求解变量 [X Y Z]=solve(A.\\\'*P+P*A==-[1 0;0 1]) 4、得到输出结果 matlab上述过程 截图如下

    2024年02月07日
    浏览(12)
  • 矩阵方程的计算求解:使用 MATLAB

    矩阵方程的计算求解:使用 MATLAB 矩阵方程是数学中一类重要的方程,它以矩阵的形式表示,并涉及到矩阵的乘法、加法和逆运算等。在 MATLAB 中,我们可以使用多种方法来求解矩阵方程,包括直接求解、迭代法和数值方法等。本文将介绍几种常见的方法,并给出相应的 MATL

    2024年02月08日
    浏览(9)
  • 2023 研究生数学建模竞赛(B题)DFT类矩阵的整数分解逼近|建模秘籍&文章代码思路大全

    2023 研究生数学建模竞赛(B题)DFT类矩阵的整数分解逼近|建模秘籍&文章代码思路大全

    问题1:降低硬件复杂度 在约束1下,优化DFT矩阵的分解,以最小化误差(RMSE)并减少乘法器的数量。 问题2:限制元素实部和虚部取值范围 在约束2下,优化DFT矩阵的分解,以最小化误差并考虑元素实部和虚部的取值范围。 问题3:同时限制稀疏性和取值范围 在同时满足约束

    2024年02月08日
    浏览(74)
  • MATLAB数值计算——矩阵运算乘法、除法、乘方

    MATLAB数值计算——矩阵运算乘法、除法、乘方

    矩阵是线性代数的基本单元 矩阵含有M行N列数值 矩阵中的元素可以是实数或复数 矩阵相关的基本运算:加、减、内积、逆矩阵、转置、线性方程式、特征值、特征向量、矩阵分解 运算符: 注:矩阵的乘法运算中没有乘法交换律 运算符: * 注: x=B/A是方程x A=B的解。即x=A的逆

    2024年01月16日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包