How to delete rows from the bottom of matrix

1 view (last 30 days)
Hi everyone,
I have A = [1 2 3 4 5; 1 0 0 0 0; 1 2 3 4 5; 1 2 3 4 5; 1 0 0 0 0; 1 0 0 0 0 ]
I want to delete the rows that contain 0 in the bottom. Then I can’t use
condition=A == 0;
A(condition,:)=[];
as it will delete row 2 as well. I just want to remove the rows in the bottom until the rows start to contain numbers. The number of rows in the bottom can change.
Any ideas? Thanks!!
  1 Comment
Jan
Jan on 16 Sep 2013
Edited: Jan on 16 Sep 2013
The description is not clear. Does they mean, that you want to delete the last two rows only? All rows contain numbers, because 0 is a number also. And no row contains zeros only. Please edit the question and improve the description.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 16 Sep 2013
out = A(flipud(cumsum(flipud(all(A,2)))>0),:);

More Answers (0)

Categories

Find more on Interpolation 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!