How to extract rows from a large number of rows that matchs a unique element in the column

1 visualizzazione (ultimi 30 giorni)
eg
ID Test1 Test2 Test 3
1 10.1 100 100
2 200 0.1 400
3 50 80 20.123
4 1000 2000 3000
5 0 1 10.987
say i have a column vector a = [ 20.123 10.987]' my desired result would be ans=
3 50 80 20.123
5 0 1 10.987
I have a set of column vector a = (42x1)' and wish to filter through a large number of rows in a matrix to extract rows from specific column which matches with one element of my column vector. can we use logical indexing for this?
  6 Commenti
Walter Roberson
Walter Roberson il 21 Ott 2018
Ah. When I was reading the question on my phone, I could not see the additional columns in the matrix.

Accedi per commentare.

Risposta accettata

madhan ravi
madhan ravi il 21 Ott 2018
Modificato: madhan ravi il 21 Ott 2018
>> matrix = [ 1 10.1 100 100
2 200 0.1 400
3 50 80 20.123
4 1000 2000 3000
5 0 1 10.987 ];
a = [ 20.123 10.987]
idx = ismember(matrix,a);
[idx1,~]= find(idx==1);
myreesult = matrix((idx1),:)
a =
20.1230 10.9870
myresult =
3.0000 50.0000 80.0000 20.1230
5.0000 0 1.0000 10.9870
>>
  4 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Testing Frameworks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by