A=[1,3,5,7; 2,4,6,8]; [L,A1,M]=svd(A) A2=L*A1*M' % 还原 A 阵 norm(A-A2)
K-SVD 源代码
K-SVD是一种经典的字典训练算法,依据误差最小原则,对误差项进行SVD分解,选择使误差最小的分解项作为更新的字典原子和对应的原子系数,经过不断的迭代从而得到优化的解。
function [a,b] = multarg(x,y) a = (x + y) * pi; b = svd(svd(a));
function [a,b] = multarg(x,y) a = (x + y) * pi; b = svd(svd(a));
%例14-10 SVD分解(奇异值分解) A=rand(3) s=svd(A) [U,S,V]=svd(A) U*S*V' norm(A)
%例14-10 SVD分解(奇异值分解) A=rand(3) s=svd(A) [U,S,V]=svd(A) U*S*V' norm(A)
%例14-10 SVD分解(奇异值分解) A=rand(3) s=svd(A) [U,S,V]=svd(A) U*S*V' norm(A)
%例14-10 SVD分解(奇异值分解) A=rand(3) s=svd(A) [U,S,V]=svd(A) U*S*V' norm(A)
%例14-10 SVD分解(奇异值分解) A=rand(3) s=svd(A) [U,S,V]=svd(A) U*S*V' norm(A)