find an element in a pair and return the counterpart

I have a pair matrix: for example node_pair_list=[ [1, 2];[2, 3]; [4, 3]; [3, 6]; [5, 6] ]. Note: each pair is unique, [3, 4] is equivalent to [4, 3] but this pair will only appear once. Now I have a single element 3 (current_node) for example, I want to check whether 3 contains in any of these pairs. And then find the corresponding element (counterpart)paired with 3. For example in this case, the pair found is [2, 3], [4, 3], [3, 6] and the counterpart is 2, 4 and 6. How can I do this easily, vectorizely? Thank you very much!

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2015년 8월 19일
node_pair_list= [1, 2;2, 3; 4, 3; 3, 6; 5, 6 ]
idx=ismember(node_pair_list,3)
out=node_pair_list(any(idx,2),:)

댓글 수: 2

Thank you very much!!
But how can I return the counter-part easily? without writing an if statement.(Because I have a large array of elements[3; 4; 7 ; 9;...], not a single element like 3, I want to find the couterpart in a most convenient way.) Sorry, I am really a beginner in this. I appreciate your help!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Vehicle Dynamics Blockset에 대해 자세히 알아보기

질문:

2015년 8월 19일

댓글:

2015년 8월 19일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by