【问题标题】:write result as matrix form将结果写成矩阵形式
【发布时间】:2014-05-29 05:44:32
【问题描述】:

让我们考虑以下矩阵

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 矩阵列的克罗内克积

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 产品?也许我应该重塑命令,但你能帮我做吗?提前谢谢

【问题讨论】:

  • 看看这个结果对你是否有意义 - kron(U(:,1),V(:,1)')
  • 它是有道理的,请将其作为答案发布并带有结果以接受它
  • 哦,我不知道这是否涉及“良好的研究工作”。如果您获得荣誉并将其发布为您的答案,我一点也不介意。
  • 我已将其发布为答案

标签: matlab matrix reshape svd


【解决方案1】:

我已经考虑按照 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

感谢朋友的帮助

【讨论】:

  • +1 对于这个答案(以及@Divakar 的评论),但我通常的警告:小心' 包含一个复杂的共轭。只是转置使用.'
  • 在这种情况下,我们只有实变量,但感谢您的建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 2023-01-09
  • 2015-10-26
  • 2021-08-27
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多