簡體   English   中英

在Matlab中從3D矩陣和索引數組中提取2D矩陣

[英]extract 2D matrix from 3D matrix and array of indices in matlab

我找不到滿意的答案。 如果A是大小為(m,n,k)的3D矩陣,Z是大小為mxn(值在1和k之間的整數)的2D矩陣,我想提取定義如下的S:

for i=1:m
    for j=n
        S(i,j) = A(i,j,Z(i,j));
    end
end

是否有一種有效的(矢量化)方式來做到這一點?

先感謝您

您可以使用線性索引進行如下操作:

S = reshape(A((1:m*n).' + m*n*(Z(:)-1)), m, n);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM