2013-08-15 3 views
0

에서 승산 된 값을 반환 I이 행렬을 가지고최소 제품 가치를 발견하고 예를 들어 행렬

A = [ 1 2 3 4; 5 6 7 8; 9 10 2 12]; 

B = [5 4 3 2; 6 7 8 9; 10 9 1 7]; 

C = B.*A 

결과이 같다 내 실제 행렬에서

C = [5 8 9 8; 30 42 56 72; 90 90 2 84] 

(A)의 크기 및 B가 다릅니다.

내 질문 출력 그냥 이렇게 될 것이다, 그래서 내가 (위의 결과에서) 행렬 C에서 최소 값을 찾을 수 있습니까 방법은 다음과 같습니다

C = 2 
A = 2 
B = 1 

그래서 기본적으로 내가 MATLAB 그래서 코드 도움이 필요 최소값을 찾은 다음 해당 최소값을 생성하는 행렬 A와 B에서 값을 반환합니다.

감사합니다.

답변

5

두 번째 출력 인수 min은 색인을 반환합니다.

[C, I] = min(C(:)); 
A = A(I); 
B = B(I); 

참고 C(:)의 첫번째는 반환되는 최소한 동등 이상의 요소가있는 경우.

+2

저는 그것이 벡터라고해도 '나는'하나의 값을 반환한다고 믿습니다. matlab 문서에서 "여러 개의 동일한 최소값이있는 경우, 발견 된 첫 번째 인덱스가 리턴됩니다." – discipulus

+1

@lovedynasty 당신 말이 맞아요. 답변을 업데이트했습니다. –