Question regarding a find function(search for data)

1 view (last 30 days)
Hi, I have the following matrix:
data=[10 1 2 3; 11 4 5 6; 12 7 8 9; 17 4 5 6]
I want to do a query with the following matirx:
built a matrix base on the element value 10 and 17
lookfor=[10;17]
And I'm looking for the following result(values associate with 10 and 17 in this case)
anwser=[10 1 2 3; 17 4 5 6]
I'm looking for a dynamic anwser, data matrix and lookfor matrix will vary and be much more bigger.
thank you in advance for your precious anwsers.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 May 2013
Edited: Azzi Abdelmalek on 26 May 2013
out=[data(any(data==17,2),:);data(any(data==10,2),:)]
%or
out=data(any(ismember(data,lookfor),2),:)
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 26 May 2013
How did you find anwser=[10 1 22 33; 11 8 10 12]
the cyclist
the cyclist on 27 May 2013
Looks like he wants to find rows that start with 10, and sum them into one row. Then find rows that start with 11, and sum them.

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 26 May 2013
Edited: the cyclist on 26 May 2013
rowIndex = ismember(data(:,1),lookfor);
answer = data(rowIndex,:);

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!