Pull a conditional subset of a matrix
    13 views (last 30 days)
  
       Show older comments
    
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 Comments
  Walter Roberson
      
      
 on 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?
Answers (2)
  Walter Roberson
      
      
 on 2 Nov 2018
        a(a(:,end)=='1',:)
2 Comments
  Walter Roberson
      
      
 on 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
    
 on 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,:);
0 Comments
See Also
Categories
				Find more on Numeric Types in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


