[英]Get a list of values from 3D array using 2D index array in Matlab
[英]MATLAB: get index of minima in 3D array
我對MATLAB有一個小問題。
我有一個3D陣列,其中每個2D層都是一張圖片。 我需要的是此數組中每個像素的最低值的“第三”索引(=層數)。 最后,我想擁有一個二維數組,其中包含這些最低值的索引。
一個例子:
具有以下2個2D層的3D陣列:
第1層:
3-5-6
1-4-2
7-5-2
第2層:
1-8-2
4-6-1
9-2-5
結果應為以下數組:
2-1-2
1-1-2
1-2-1
我希望你能看到我想要實現的目標,對不起我的英語不好,我真的無法用語言表達我的問題...
謝謝您的幫助。
設A
為矩陣,則可以使用
[B, I] = min(A, [], 3);
其中B
是最小值,而I
包含索引。 如果您對最小值不感興趣,可以使用
[~, I] = min(A, [], 3);
以你為例
>> A(:,:,1) = [3 5 6; 1 4 2; 7 5 2];
>> A(:,:,2) = [1 8 2; 4 6 1; 9 2 5];
>> [B,I]=min(A, [], 3)
B =
1 5 2
1 4 1
7 2 2
I =
2 1 2
1 1 2
1 2 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.