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