根据这篇文章
http://www.wseas.us/e-library/conferences/2012/Vouliagmeni/MMAS/MMAS-07.pdf
矩阵可以用一阶矩阵逼近,我知道在matlab kronecker积中,函数是kron,现在假设我们有下面的矩阵。
a=[2 1 3;4 3 5]
a =
2 1 3
4 3 5这个矩阵的SVD是
[U E V]=svd(a)
U =
-0.4641 -0.8858
-0.8858 0.4641
E =
7.9764 0 0
0 0.6142 0
V =
-0.5606 0.1382 -0.8165
-0.3913 0.8247 0.4082
-0.7298 -0.5484 0.4082请帮助我用matlab语言用张量近似重构原矩阵来实现算法,如何应用张量积?
X=kron(U(:,1),V(:,1));或者?提前谢谢
发布于 2014-04-01 20:55:09
我不太确定T的解释,但最接近矩阵的秩-1近似,实质上是两个占优势的奇异向量被奇异值放大的外积。
简单地说,如果是[U E V] = svd(X),那么最接近X的秩-1是第一个奇异向量乘以第一个奇异值的外积。
在MATLAB中,您可以这样做:
U(:,1)*E(1,1)*V(:,1)'产生的结果:
ans =
2.0752 1.4487 2.7017
3.9606 2.7649 5.1563另外,从数学上讲,行向量和列向量的kronecker积本质上是它们的外积。因此,您可以使用Kronecker产品做同样的事情:
(kron(U(:,1)',V(:,1))*E(1,1))'得到同样的答案。
https://stackoverflow.com/questions/22794740
复制相似问题