Pull a conditional subset of a matrix
Afficher commentaires plus anciens
Hi guys I have a matrix and I want to pull a subset matrix but only with the numbers whose last digit is one. EX a= 00110, 01000, 01011, 01101. thus b= 01011, 01101
4 commentaires
madhan ravi
le 2 Nov 2018
Modifié(e) : madhan ravi
le 2 Nov 2018
More explanation?
Andres Serrano
le 2 Nov 2018
Walter Roberson
le 2 Nov 2018
Are the entries for the first row '00110' which is to say characters? Are they [0 0 1 1 0] which is to say distinct decimal numbers? Are they 00110 decimal, which would show up as 110, decimal one hundred and ten?
Andres Serrano
le 2 Nov 2018
Réponses (2)
Walter Roberson
le 2 Nov 2018
a(a(:,end)=='1',:)
2 commentaires
Andres Serrano
le 2 Nov 2018
Walter Roberson
le 2 Nov 2018
You said the entries were characters, and '1' will not == to 1 .
You also specifically wanted the last digit, but if your array were wider than 5 digits then a(:,5) would not be the last digit.
If your values are numeric instead of character, then a(a(:,end)==1,:)
Fulden Buyukozturk
le 2 Nov 2018
If a is a matrix of characters, you can do:
a= ['00110'; '01000'; '01011'; '01101'];
i = strfind(a(:,end)', '1');
b = a(i,:);
Catégories
En savoir plus sur Numeric Types dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!