1
我找不到满意的答案。如果A是大小(M,N,k)的三维矩阵,Z是尺寸为m×n的2D矩阵,我想提取s定义像这样(1和k之间的值的整数):从3D矩阵和matlab索引数组中提取2D矩阵
for i=1:m
for j=n
S(i,j) = A(i,j,Z(i,j));
end
end
有没有一种高效(矢量化)的方式来做到这一点?
预先感谢您
我找不到满意的答案。如果A是大小(M,N,k)的三维矩阵,Z是尺寸为m×n的2D矩阵,我想提取s定义像这样(1和k之间的值的整数):从3D矩阵和matlab索引数组中提取2D矩阵
for i=1:m
for j=n
S(i,j) = A(i,j,Z(i,j));
end
end
有没有一种高效(矢量化)的方式来做到这一点?
预先感谢您
则可以使用linear indexing如下操作:
S = reshape(A((1:m*n).' + m*n*(Z(:)-1)), m, n);
你写,我压抑的)和编辑的消息。 – yann