【问题标题】:Generate low rank tensor生成低秩张量
【发布时间】:2017-09-17 19:25:20
【问题描述】:

在 MATLAB 中,我需要生成一个大小为 X 的张量,例如13x10x80 的等级为 (4,3,15),即第一次、第二次和第三次折叠的等级分别为 4、3 和 15。

如何在 MATLAB 中做到这一点?

【问题讨论】:

  • 这似乎是一个数学问题,因此问它math.stackexchange.com 可能会有用。
  • 你可以使用matlab中的“张量工具箱”来做到这一点。

标签: matlab tensor


【解决方案1】:

正如“kmario23”所提到的,您可以使用Matalb tensor toolbox 来执行此操作。我认为这就是您要寻找的:

X = tenrand([13 10 80]) %<-- Generate data
U1 = nvecs(X,1,4); %<-- Mode 1
U2 = nvecs(X,2,3); %<-- Mode 2
U3 = nvecs(X,3,15); %<-- Mode 3
S = ttm(X,{pinv(U1),pinv(U2),pinv(U3)}); %<-- Core
Y = ttensor(S,{U1,U2,U3}); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 2019-06-24
    • 2021-10-27
    • 1970-01-01
    相关资源
    最近更新 更多