Logical Indexing Within a Symbolic Array
1 view (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 Symbolic Variables, Expressions, Functions, and Preferences 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!