Effacer les filtres
Effacer les filtres

How to delete rows from the bottom of matrix

3 vues (au cours des 30 derniers jours)
Betina Isbak
Betina Isbak le 16 Sep 2013
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 commentaire
Jan
Jan le 16 Sep 2013
Modifié(e) : Jan le 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.

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 16 Sep 2013
out = A(flipud(cumsum(flipud(all(A,2)))>0),:);
  1 commentaire
Betina Isbak
Betina Isbak le 16 Sep 2013
Thank you Andrei, it works perfect!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by