参考:
http://blog.csdn.net/taoceg/article/details/40186373
http://blog.csdn.net/zxiong9397/article/details/52710053

SVD出现的缘由

svd函数是对SVD分解的实现,SVD分解即是奇异值分解 (sigular value decomposition,SVD),它 是一种正交矩阵分解法,是最可靠的分解法。和它类似的有特征值分解。但是值得注意的是,特征值分解只能针对方阵,而对于非方阵是无法应用特征值分解的。正如我们了解的,特征值分解是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有对可对角化矩阵才可以施以特征分解。正因为特征值分解的局限性,数学家才提出SVD分解来替代特征值分解在非方阵的应用。

什么是SVD分解

在讲述svd函数之前,需要对SVD分解有个简单的了解。对于一个M×N的矩阵A,它的转置矩阵A’为N×M,则A’*A的n个特征值的非负平方根叫做A的奇异值。
对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n)矩阵,使得A = U*S*V’。
我们对A进行svd分解,则A=USV’,如果rank(A)=r,那么U就为1000*r的矩阵,S为r*r的矩阵,V为1000*r的矩阵。

svd函数的调用形式

[U,S,V]=svd(A)
参数说明:A:要进行SVD分解的矩阵,且A不必为方阵。
概括地说,U、S、V返回SVD的分解的结果;
U:A的奇异向量组成的矩阵,AA’的正交单位特征向量组成U。
S:对角矩阵,对角元素是A的奇异值,非负且按降序排列。
V:A的奇异向量组成的矩阵,A’A的正交单位特征向量组成V。

svds函数

相比svd,svds函数可定制性更强。在返回值上并无太大不同,只是使用svds可以选取若干特征值,而不是像svd那样得到所有的特征值。同样的因为特征值矩阵有变化,那么其对应的特征向量组成的矩阵中特征向量的数目同特征值个数一样。看下面的例子:

[u,d,v]=svds(A,10)将得到最大的10个特征值及其对应的最大特征行向量和特征列向量,
[u,d,v]=svds(A,10,0)将得到最小的10个特征值及其对应的特征行向量和特征列向量,
[u,d,v]=svds(A,10,2)将得到与2最接近的10个特征值及其对应的特征行向量和特征列向量。

svd的使用误区

使用时有几点需要注意,1)svd无法对数据类型为uint8的矩阵求分解;2)区分大小写。
如果A是uint8型的矩阵,那么下面的语句就会报错。

S=svd(A)

解决办法S=svd(double(A))

S=SVD(double(A))
出错原因,SVD不能被调用,区分大小写
解决办法S=svd(double(A))

matlab之svd、svds函数相关推荐

  1. 奇异值分解——matlab中svd函数用法总结

    为了学PCA,发现要用到svd就先研究研究. svd奇异值分解函数声明翻译 %SVD Singular value decomposition. SVD奇异值分解 % [U,S,V] = SVD(X) ...

  2. MATLAB常用命令及函数大全(字母顺序)

    花了些时间把MATLAB的命令以及函数按照字母顺序列了一个清单,供大家参考.               A a       abs 绝对值.模.字符的ASCII码值        acos 反余弦  ...

  3. Matlab学习-图像处理工具箱函数

    本文转载自http://www.cnblogs.com/gtts/archive/2011/05/20/2052339.html 下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理 ...

  4. Matlab与OpenCV对应函数

    1.matlab中的imread相当于OpenCV中的cvLoadImage(imageName, CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):读 ...

  5. Matlab中的lsqcurvefit函数的使用

    Matlab中的lsqcurvefit函数的使用 lsqcurvefit函数 调用示例 lsqcurvefit函数 非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数 ...

  6. 【 MATLAB 】使用 filter 函数产生给定线性时不变系统的单位阶跃响应

    先给出filter的大致介绍:[ MATLAB ]filter 函数介绍(一维数字滤波器) 上篇博文写了产生一个系统的脉冲响应的博文,有兴趣可以看看:[ MATLAB ]使用 impz 函数计算并画出 ...

  7. matlab拟合未定义函数或变量,关于matlab的未定义函数或变量的问题

    1.首先需要知道matlab中查看数据类型函数是class,可以先在命令行窗口中help class.2.在命令行窗口中输入"a=123 class(a)".3.按回车键可以看到变 ...

  8. 【Matlab 控制】求函数极限

    Matlab 求极限 求函数的0极限: >> syms x; >> y1=(4*x^3-2*x^2+x)/(3*x^2+2*x); >> limit(y1,x,0) ...

  9. Matlab:Matlab中常用的函数、案例详细攻略

    Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...

  10. MTM:matlab实现5主函数解码

    前言 之前讲了MTM(多锥形窗谱估计)的相关原理,现在来分析一下它的matlab实现. 想要复习的可以参考一下之前的文件: 现代谱估计:多窗口谱 想要复习一下如何实现的可以参考: MTM:matlab ...

最新文章

  1. c++封装继承多态实例
  2. 高中计算机应用基础试讲,试讲计算机应用基础.ppt
  3. Docker实践,来自沪江、滴滴、蘑菇街架构师的交流分享
  4. 兔子问题,斐波纳契数列
  5. 【原创】C#控件TreeView与数据库的操作
  6. 利用膨胀和腐蚀获取图像边缘 matlab实现
  7. Ruby中的类与对象(一)
  8. 函数可以作为Javascript对象(哈希表)的键吗
  9. Java为何大行其道
  10. kill -9 杀不死的进程处理办法
  11. 百家讲坛2001-2016年节目播出表-总目录
  12. 十折交叉验证 matlab,Matlab 十折交叉验证
  13. linux双线双网卡双ip双网关设置方法,centos下双网卡双线双IP的配置方法
  14. 笔记本电脑应用商店服务器错误,打开win10商店出错 出现win10商店请稍后重试问题怎么办 - 驱动管家...
  15. ddl是什么意思网络语_ddl是什么
  16. 信息安全技术实验PGP邮件加密系统工具下载过程记录
  17. 中学计算机老师资质,2016下半年教师资格证考试中学信息技术备考指导
  18. 都掏出来了,大学四年珍藏的26个宝藏网站,全部整理好给大家!!!
  19. 冷门高性价比蓝牙耳机,不是烧友一定很少知道的五大蓝牙耳机品牌
  20. 靠部落格打响品牌 一个人赚全世界的钱

热门文章

  1. scrapy实例三 【豆瓣电影Top250】
  2. vue差(插)值表达式
  3. 基于matlab的图像仿真研究,基于MATLAB的图像锐化算法研究与仿真
  4. 计算机及相关设备制造业2020,在现实生活中,接近完全垄断市场类型的行业包括()。A.计算机及相关设备制造业B.稀有金属...
  5. java中是否可以覆盖over_”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?...
  6. 服务器mysql_本地如何操作服务器的mysql,详细教程
  7. div contenteditable 富文本字数限制_知网查重是如何统计字数的?
  8. Javascript特效:左侧二维码的显示和隐藏
  9. 垃圾收集 java_Java 垃圾收集技术
  10. sql2005 脚本中给字段写说明