2012-10-30 6 views
-1

for 루프를 사용하지 않고 두 행렬을 비교하고 싶습니다. for 루프를 사용하지 않고 두 개의 부동 소수점 행을 비교하십시오.

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

B=[3 6 5; 
    1 4 2]; 

을 감안할 때 지금은 매트릭스 Acol(2) 두 사람과 함께 동시에 매트릭스 Bcol(3) 세 매트릭스 Acol(1) 하나 매트릭스 Bcol(2) 둘을 비교합니다.

c=[2 4 7; 
    5 6 2]; 
+1

나는 당신이 요구하는 것과 같은 매우 불분명입니다. 첫째로 - 당신은 "칼럼"을 의미합니까? 'A'와'B'는 행 수가 다르므로 열을 직접 비교할 수 없습니다. 둘째 - 행렬 'c'가 어떻게 계산되었는지 설명 할 수 있습니까? 나는 그것이 A와 B를 비교 한 결과인지 어떻게 보지 못합니다. – jazzbassrob

+0

그것은 실수였습니다. 동일하지 않은 행이어야합니다. 행렬 C는 행렬 B의 col (2)와 행렬 A의 col (2)를 비교하고 동시에 행렬 B의 col (3)과 행렬 A의 col (1)을 비교하여 행렬 A로부터 계산됩니다. – mizanbuet

+0

죄송합니다. 말이되지 않습니다. 행렬 B의 열 2는 다음과 같습니다.'[2 4]'와 행렬 A의 열 2는'[1 4 3 5 1 6 3]'입니다. 그들은 길이가 다르기 때문에 비교할 수 없습니다. – jazzbassrob

답변

0

내가 행의 3 요소가 B의 첫 번째 열에과의 두번째 요소입니다 @mizanbuet이 A에서 행을 추출하고 싶은 생각 : 지금은 매트릭스 A에서이 같은 결과를 얻으려면 행은 B의 두 번째 열에 있습니다.

쉬운 몇 가지 ismemberlogical indexing로 :

A2inB2 = ismember(A(:,2),B(:,2)); 
A1inB3 = ismember(A(:,1),B(:,3)); 
c = A(A2inB2 & A1inB3, :); 
관련 문제