我正在使用Matlab制作3维数组,该数组根据模式进行。尽管我可以手动写出Array,但我确信有一种更快的方法。
multiArray = cat(3,...
[1+randn(4,3); 1*randn(4,3)],...
[2+randn(4,3); 2*randn(4,3)],...
[3+randn(4,3); 3*randn(4,3)]);
如果我想使上面的数组为8x3x25,那么最后一行是
[25+randn(4,3); 25*randn(4,3)]
但是,如何在不经过所有繁琐的干预步骤的情况下制作这样的阵列呢?
最佳答案
使用mikkola basically got the solution时,无需在末尾移动尺寸。
s=[4,3,25];
it=reshape(1:s(3),1,1,[]);
out = [bsxfun(@plus , it, randn(s));...
bsxfun(@times, it, randn(s))];
关于matlab - 按照模式创建多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33734820/