How to extract rows from a large number of rows that matchs a unique element in the column
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Young Lee
il 21 Ott 2018
Commentato: madhan ravi
il 21 Ott 2018
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
il 21 Ott 2018
Ah. When I was reading the question on my phone, I could not see the additional columns in the matrix.
Risposta accettata
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
Più risposte (0)
Vedere anche
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!