在MATLAB中,我需要生成一个大小为13x10x80的张量X,其秩为( 4,3,15 ),即第一、第二和第三折叠的秩分别为4、3和15。
我如何在MATLAB中做到这一点?
发布于 2017-10-17 05:27:48
正如'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}); https://stackoverflow.com/questions/46268021
复制相似问题