Deleting rows and columns of all zeroes in a symbolic matrix
2 views (last 30 days)
Show older comments
Hello,
How can I delete all rows and columns of all zeroes in a symbolic matrix?
The solution listed here ( http://www.mathworks.com/matlabcentral/answers/40018-delete-zeros-rows-and-columns ) does not work when the matrix is symbolic. The any command produces an error "Unable to prove variable-name literally."
Thanks, Kevin
0 Comments
Accepted Answer
Teja Muppirala
on 27 Feb 2013
syms x1
data = [ x1, 1, 0 ; 0, 0, 0 ; 0, 1, 0]
data( all( isAlways(data==0) ,2) ,:) = []
data( : ,all( isAlways(data==0) ,1)) = []
0 Comments
More Answers (1)
Shashank Prasanna
on 26 Feb 2013
The following worked perfectly fine for me. Can you share the exact error message you got?
x = [1 1 0;0 0 0;0 1 0]
>> data=sym(x)
data =
[ 1, 1, 0]
[ 0, 0, 0]
[ 0, 1, 0]
data( ~any(data,2), : ) = []; %rows
data( :, ~any(data,1) ) = []; %columns
See Also
Categories
Find more on Assumptions 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!