我有一个矩阵size(A) = 20x301088
和另一个向量。我需要转换成一个数组,即. 但它必须按特定顺序排列,向量包含 a以特定顺序排列的线性索引。linear_index
301088x1
A
97x97x32x20
linear_index
97x97x32
例如,元素 atA(20,4)
应放入linear_index(4)
of B(:,:,:,20)
。希望这是有道理的。的每一行都A
将创建自己的97x97x32
矩阵,并且元素将放置在 中的值指定的索引处linear_index
。
我做过一次,但它需要shiftdim
命令:
B(1:length(lx) , linear_index) = A(1:length(lx) , :);
B = shiftdim(A,1);
这行得通,但是该shiftdim
命令需要一些时间,尤其是当我的矩阵大小可以达到97x97x32x194
.