matlab学习(2)——SVD()diag()函数
2013-04-14 19:32
369 查看
奇异值分解 (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
使用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
相关文章推荐
- Matlab学习(一):数字图像处理大作业用到的函数
- matlab中m文件与m函数的学习与理解
- matlab学习之一些常用函数(3)
- Matlab画函数图学习笔记2
- MATLAB学习过程常用命令记录(函数)
- Matlab中del2()函数学习笔记
- matlab学习之persistent变量、isempty()函数的使用
- Matlab学习笔记(一)基础函数
- 【Matlab学习笔记】【函数学习】size参数
- Matlab学习记录(函数)
- MATLAB 函数学习笔记
- matlab中svd函数用法总结
- 【学习笔记】matlab算法实现贝叶斯判别classify函数
- 【从业余项目中学习2】C# 实现调用Matlab函数(Visual Studio:2008, Matlab:R2009a)
- matlab学习笔记009之solve函数
- Matlab常用函数,学习笔记
- 语音学习笔记3------matlab实现傅里叶反变换ifft()函数
- MATLAB BP网络工具箱中不同学习函数,训练函数和性能函数时的学习效率和精度
- Matlab - 各种函数学习
- matlab图像处理函数学习——图像或者矩阵填充函数:padarray