将结果写为矩阵形式

时间:2014-05-29 05:44:33

标签: matlab matrix reshape svd

让我们考虑以下矩阵

a=[1 2 3;2 3 4;3 4 5;4 5 7]

a =

     1     2     3
     2     3     4
     3     4     5
     4     5     7

let us consider it's svd

[U E V]=svd(a)

U =

   -0.2738   -0.8708   -0.0062   -0.4082
   -0.3984   -0.2552   -0.3309    0.8165
   -0.5230    0.3605   -0.6557   -0.4082
   -0.7020    0.2159    0.6786    0.0000


E =

   13.5093         0         0
         0    0.6482         0
         0         0    0.2797
         0         0         0


V =

   -0.4032    0.8699    0.2841
   -0.5437    0.0220   -0.8390
   -0.7361   -0.4928    0.4641

如果考虑U和V矩阵列的kronecker乘积

kron(U(:,1),V(:,1))

ans =

    0.1104
    0.1489
    0.2015
    0.1606
    0.2166
    0.2932
    0.2109
    0.2843
    0.3849
    0.2831
    0.3817
    0.5167

但它以矢量形式返回,但是我需要矩阵形式,那么如何将其转换为矩阵内部kron产品呢?也许我应该重塑命令,但是你能帮我做吗?提前感谢

1 个答案:

答案 0 :(得分:4)

我考虑跟随Divakar提出的改变并且工作正常

X=kron(U(:,1),V(:,1)')

X =

    0.1104    0.1489    0.2015
    0.1606    0.2166    0.2932
    0.2109    0.2843    0.3849
    0.2831    0.3817    0.5167

感谢我的朋友的帮助