创建一个由向量​​组成的3d数组

时间:2014-12-08 16:23:10

标签: matlab multidimensional-array

这是一个非常快速的问题,如果我能够充分解释自己,应该很容易回答。

我想创建一个名为A的144 x 96 x 10000数组,以便

A(1,1,:) = 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.010....10000 etc.
....
A(144,96,:) = 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.010....10000 etc.

我认为我应该使用one和repmat的组合,但我似乎无法想出这个。

感谢。

2 个答案:

答案 0 :(得分:2)

Permute会在大型数组上杀死你,...你也可以尝试:

array= 0.001:0.001:1000;
A = repmat(reshape(array,1,1,numel(array)),[144 96 1]);

答案 1 :(得分:1)

你可以通过以下方式完成:

array=0.001:0.001:1000;
M=permute(repmat(array,144,1,96),[1 3 2])

repmat似乎不喜欢[144,96,1]所以我们会以其他尺寸创建它,然后只需用permute

更改尺寸的顺序