Logical Indexing Within a Symbolic Array
    3 views (last 30 days)
  
       Show older comments
    
    Kamal Premaratne
 on 30 Dec 2020
  
    
    
    
    
    Commented: Ameer Hamza
      
      
 on 30 Dec 2020
            Suppose I have a symbolic array like
A = [0 0 0 w7 0 0;
     0 0 0 0 w9 0;
     0 w3 0 0 0 0;
     0 0 w5 0 0 0;
     w1 0 w6 w8 0 0;
     w2 w4 0 0 w10 0];
where w1, ..., w10 are symbolic real variables. I would like to generate a "binary" array which identifies where the symbolic variables w1, ..., w10 are located, meaning that the output should be
A_bin = [0 0 0 1 0 0;
         0 0 0 0 1 0;
         0 1 0 0 0 0;
         0 0 1 0 0 0;
         1 0 1 1 0 0;
         1 1 0 0 1 0];
Is there a way MATLAB could generate A_bin from A?
Thank you.
0 Comments
Accepted Answer
  Ameer Hamza
      
      
 on 30 Dec 2020
        Try this
syms w1 w2 w3 w4 w5 w6 w7 w8 w9 w10
A = [0 0 0 w7 0 0;
     0 0 0 0 w9 0;
     0 w3 0 0 0 0;
     0 0 w5 0 0 0;
     w1 0 w6 w8 0 0;
     w2 w4 0 0 w10 0];
A_bin = ~isAlways(A==0)
or
A_bin = ~isnan(A./A)
2 Comments
More Answers (1)
See Also
Categories
				Find more on Operators and Elementary Operations 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!

