【发布时间】:2014-02-11 12:02:14
【问题描述】:
我有以下 Matlab 代码:
r=5;
[U, Gamma, V] = svd( rand(20,10), 'econ' );
L1 = U(:,1:r) * Gamma(1:r,1:r) * V(:,1:r)';
L2 = zeros(20,10);
for i=1:r
L2 = L2 + Gamma(i)* U(:,i) * V(:,i)';
end
norm(L1-L2,'fro')
通常,L1 应该与 L2 相同,norm(L1-L2,'fro') 应该给出零作为结果。但是,当我在 Matlab 命令窗口中键入上述命令时,情况并非如此。
谁能帮我找出这里的问题?
【问题讨论】: