non zero elements in an array
    4 views (last 30 days)
  
       Show older comments
    
if a=[1 2 4 5 3 0 0 8 0]
how can i make the elements greater than or equal to 2 as 1 and smaller than two  as 0.
so that it become like this:
[0 1 1 1 1 0 0 1 0]
0 Comments
Accepted Answer
  Arif Hoq
      
 on 12 Feb 2022
        a=[1 2 4 5 3 0 0 8 0];
[idx]=find(a<2);
a(idx)=0;
out=a;
[idx2]=find(out>=2);
out(idx2)=1
More Answers (2)
  DGM
      
      
 on 12 Feb 2022
        
      Edited: DGM
      
      
 on 12 Feb 2022
  
      I'm going to assume you're only dealing in integers here, otherwise the question arises whether values between 1 and 2 should really be preserved.
a = [1.5 1 2 4 5 3 0 0 8 0];
b = max(min(a,1),0)
If values between 1 and 2 should be preserved, then:
c = max(a,0);
c(c>=2) = 1
0 Comments
See Also
Categories
				Find more on Data Type Identification 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!



