2013-08-08 3 views
0

MATLAB에 대해 약간의 질문이 있습니다.MATLAB : 3D 배열에서 최소값 인덱스 얻기

각 2D 레이어가 그림 인 3D 배열이 있습니다. 필요한 것은이 배열의 각 픽셀에 대해 가장 낮은 값의 "세 번째"인덱스 (= 레이어 번호)입니다. 결국 내가 가장 낮은 값의 색인을 가지고 2D 배열을 갖고 싶습니다.

예 :

2이 2D-레이어

차원 어레이 :

층 1

3-5-6 
1-4-2 
7-5-2 

층 2 :

1-8-2 
4-6-1 
9-2-5 

이 결과는 다음과 같아야 배열 :

,

나는

당신의 도움 주셔서 감사합니다 ... 당신은 내가, 내 나쁜 영어 죄송합니다, 난 정말 말에서 내 문제 표현할 수 없습니다 달성하기 위해 원하는 것을 볼 수 있기를 바랍니다.

답변

5

하자 매트릭스는 다음 B 최소 값과 I이 인덱스를 포함한

[B, I] = min(A, [], 3); 

를 사용할 수있을 A. 당신이 최소값에 관심이없는 경우에 당신은

>> 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 
+0

귀하의 빠른 응답에 대한 당신을 감사 예를 들어

[~, I] = min(A, [], 3); 

을 사용할 수 있습니다! 이것은 내가 찾고 있었던 것이고, 그것은 훌륭하게 작동합니다. – Pixel