matlabsvd提取特征值_MATLAB中的SVD函数
转贴
奇异值分解 (sigular value decomposition,SVD) 是另一种正交矩阵分解法;SVD是最可靠的分解法,但是它比QR
分解法要花上近十倍的计算时间。[U,S,V]=svd(A),其中U和V代表二个相互正交矩阵,而S代表一对角矩阵。 和QR分解法相同者,
原矩阵A不必为正方矩阵。
使用SVD分解法的用途是解最小平方误差法和数据压缩
s = svd(X)
[U,S,V] = svd(X)
[U,S,V] = svd(X,0)
[U,S,V] = svd(X,'econ')
描述:
SVD命令是为了计算矩阵的奇异值分解。
s = svd(X) 返回一个向量的奇异值.
[U,S,V] = svd(X)
产生一个与X维度相同的对角矩阵S,并且降序排列非负对角元素。并且酉矩阵U和V使得X = U*S*V
[U,S,V] = svd(X,0)
如果X是n和m并且m > n,那么奇异值分解计算只有第一个n列U和S是n,n
[U,S,V] = svd(X,'econ')
如果X是n和m并且m > n,等价于svd(X,0)
对于m < n, 只有V的第一个m列是被计算的并且S是m*m.
X = diag(v,k)
以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。
例:
>> v=[1 2 3];
>> x=diag(v,-1)
x =
0 0 0 0
1 0 0 0
0 2 0 0
0 0 3 0
>> v(2:5)=2;(2到5列均赋值为2)
>> x=diag(v,-1)
x =
0 0 0 0 0 0
1 0 0 0 0 0
0 2 0 0 0 0
0 0 2 0 0 0
0 0 0 2 0 0
0 0 0 0 2 0
设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。
这几天做实验涉及到奇异值分解svd(singular value decomposition),涉及到这样的一个问题,
做PCA时候400幅图像拉成向量按列摆放,结果摆成了比如说10000*400大小的矩阵,
用到svd函数进行奇异值分解找主分量,结果MATLAB提示超出内存,后来想起还有个函数叫svds,看到别人用过,以为只是一个变体,没什么区别,就用上了,结果确实在预料之中。但是今天觉得不放心,跑到变量里面看了下,发现这个大的矩阵被分解成了
三个10000*6,6*6,400*6大小的矩阵的乘积,而不是普通的svd分解得到的10000*10000,10000*400,400*400大小的矩阵乘积,把我吓了一跳,都得到预期的结果,难不成这里还出个篓子?赶紧试验,
发现任给一个M*N大小的矩阵,都是被分解成了M*6,6*6,N*6大小的矩阵的乘积,为什么都会出现6呢?确实很纳闷。help
svds看了一下,发现SVDS(A)
返回的就是svds返回的就是最大的6个特征值及其对应的特征行向量和特征列向量,
还好,我们实验中是在svds得到列向量中再取前5个最大的列向量,这个与普通的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,svds的可定制性更强。
奇异值分解非常有用,对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A = U*S*V’。
U和V中分别是A的奇异向量,而S是A的奇异值。
AA'的正交单位特征向量组成U,特征值组成S'S,
A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。因此,奇异值分解和特征值问题紧密联系
matlabsvd提取特征值_MATLAB中的SVD函数相关推荐
- 计算机中公式提取用什么函数,技巧:Excel快速从文本中提取单元格中的数字函数公式...
有时,我们将一些文本导入Excel.这些文本包含中文,字母,数字,并且全部堆积在一个单元格中.但是,我们只需要数字.那么,如何快速从中文,字母和数字中提取数字呢?在这里,王小老师将为您分享一些实用的函 ...
- python输入函数格式_python如何提取.c文件中的指定函数的输入参数
比如你的C文件是c_functions.c: 内容如下:normal_1(in-1, in-2, in-3) { ; } normal_2() { ; } 程序参考源码:import re f = o ...
- mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...
- R语言str_subset函数和str_which函数:str_subset函数提取字符串向量中所有包含匹配字符的字符串、str_which函数返回字符串向量中所有包含匹配字符的位置(索引)
R语言str_subset函数和str_which函数:str_subset函数提取字符串向量中所有包含匹配字符的字符串.str_which函数返回字符串向量中所有包含匹配字符的位置(索引) 目录
- matlab输出的特征向量,关于matlab中的eig函数(求特征值和特征向量)(最新整理)
<关于matlab中的eig函数(求特征值和特征向量)(最新整理)>由会员分享,可在线阅读,更多相关<关于matlab中的eig函数(求特征值和特征向量)(最新整理)(3页珍藏版)& ...
- matlab stem函数坐标轴_MATLAB中stem函数用法
stem(Y) 将数据序列Y从x轴到数据值按照茎状形式画出,以圆圈终止.如果Y是一个矩阵,则将其每一列按照分隔方式画出. stem(X,Y)在X的指定点处画出数据序列Y. stem(...,'fil ...
- 提取.c文件中的函数名
shell脚本提取.c生成函数原型 写了个脚本主要是为了给自己用的,顺带共享下.作用是提取.c文件中的函数名,生成函数原型. #!/bin/bash sourcesfile=$1 if [[ -f $ ...
- matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
Matlab中的inline函数 1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该函数,形式相当于M-函数,但无编写一个真正的MATLAB文件,就可以描述出某种数学关系.其调 ...
- python用map提取一个数的个十百位数_如何使用python中的map函数?
我们在使用python过程中,为了避免错误删除,会选择做好一个序列后可以插入另外的序列中做为新序列的一部分内容.方便完成一些复杂的工程或多个片段分别编辑后再串成一个完整工程的操作.之前小编向大家介绍了 ...
- c语言提取字符串里面的数字,一个截取字符串中数字的函数
一个截取字符串中数字的函数 我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符"123"变为整数123,"453 ...
最新文章
- 图形推理1000题pdf_笔试|图形推理题满分攻略
- Django 1.6 部署
- 三星a7支持html吗,三星A7怎么样 三星A7特点介绍
- SSD训练自己的数据集
- android+qq登录测试,对于android的第三方(QQ登录,微信登录等的)测试时的签名配置...
- python网络编程——IO多路复用之epoll
- 炸金花 php算法,php 炸金花牌型 和 比牌 规则
- How to use filter in Analytics Path Framework
- moxy json介绍_使用MOXy 2.5.1快速且有点脏的JSON模式生成
- java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...
- HttpInvoker-----客户端实现
- 机器学习总结之第一章绪论
- ESXi安装时遇到不识别的硬件的处理
- 小程序和服务器之间的通信,微信小程序建立服务器通信的方法
- 寻找故障检测相关论文的期刊
- Android系统设置默认24小时制
- 解读测试能力素质模型
- 【培训】渔网模式识别项目-算法培训-王博士
- DoubleListView效果
- Eclipse中建多层级包时出现的问题
热门文章
- office 打开wps乱_wps打开word的乱码咋办?
- Java迭代器和lambda的区别,Java使用Lambda表达式遍历Iterator迭代器
- 爬PHP网站文件,蜘蛛来访爬取链接详情导出TXT文件(php脚本)
- 【STM32F429】第8章 ThreadX GUIX移植到STM32F429(MDK AC6)
- Day11:股市风险
- 50以内的质数顺口溜_最新50以内质数顺口溜大全
- ps修改证件照的底色
- 【刷题】清橙 A1339 JZPLCM(顾昱洲)
- Fast RTPS原理与代码分析(2):动态发现协议之参与者发现协议PDP
- 阿里巴巴-飞猪 电话面试