Cutting rows and columns from a matrix

1 view (last 30 days)
If A = [0,0,0,0;0,0,0,0;0,0,1,1;0,0,1,1], how can i cut out the null comumns and rows to acheive B = [1,1;1,1]

Accepted Answer

Jos (10584)
Jos (10584) on 10 Feb 2011
See ANY (or ALL). You need a two step approach:
A = [1 0 1 0 ; 1 0 1 0 ; 0 0 0 0]
B = A(any(A,2),:) ; % remove null rows
B = B(:,any(A,1)) % remove null columns

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 20 May 2011
B = zeros(sum(any(A,2)),sum(any(A)));
B(:)=A(A~=0);

Categories

Find more on Get Started with MATLAB 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!