矩阵转置 [u,s,v]=svd(a)

矩阵V是p*k的,那么单位化V(:,1:k)'的每一列,表示对V的各列单位化,然后再转置。即这种表示方法,后对转置进行操作。

matlab中函数[u,d,v]=svd(a)分解得到的矩阵u 和 v的各行各列都是已经单位化了的。可以用下面的命令测试u:

clear all

a=fix(25*rand(4,5))

[u,d,v]=svd(a);

[m,n]=size(a);

for j=1:m

  disp('u的各行的长度');norm(u(j,:))

end

for j=1:m

  disp('u的各列的长度');norm(u(:,j))

end

你可能感兴趣的:(矩阵转置 [u,s,v]=svd(a))