Using find() to identify values in an array that are present in another array

조회 수: 2 (최근 30일)
I am trying to extract values in rows 2 and 3 from an array when the corresponding value in row 1 is equal to a certain value present in a list (another array). I am attempting to do this with find(), and am wondering if there is a way to incorporate ismember(), but I am no sure how to proceed. I have attached screenshot of my main array below. The values change from left to right over 7136 columns, but the increments are very fine. Thanks!

채택된 답변

Dr.Vini42
Dr.Vini42 2017년 2월 21일
Okay, I got it to work now. The first answer was close, but this one is correct. For some reason using ismember() changed the syntax of find(). I assume it has to do with the output of ismember(), but perhaps someone else could offer a more thorough explanation.
find(ismember(comparison_array),array(1,:));

추가 답변 (1개)

Dr.Vini42
Dr.Vini42 2017년 2월 21일
편집: Dr.Vini42 2017년 2월 21일
Never mind, I discovered a solution.
find(array(ismember(comparison_array),array(1,:)));
  댓글 수: 4
Dr.Vini42
Dr.Vini42 2017년 2월 21일
편집: Dr.Vini42 2017년 2월 21일
Actually, I changed my mind. My solution is not working quite as I intended. Perhaps there is a better way. My solution appears to be withdrawing the first X values from my array, according to how many values are in my comparison_array. This was not initially obvious because of the small incrementation I had mentioned.

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

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by