cut of zeros from a matrix based on the longest non-zero row
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nikolas Spiliopoulos
il 22 Nov 2021
Commentato: Dave B
il 22 Nov 2021
Hi all,
I want to cut all zeros from the right, based on "the longest non zero row". an example:
A=[ 1 2 0 0 0 0;3 4 5 0 0 0;5 6 0 0 0 0];
output: A=[ 1 2 0 ;3 4 5 ;5 6 0 ];
thanks in advance!
1 Commento
Risposta accettata
Dave B
il 22 Nov 2021
Modificato: Dave B
il 22 Nov 2021
Another way to phrase this question is to say you want to remove columns from the right side of the matrix if the whole column is zeros:
A=[ 1 2 0 0 0 0;3 4 5 0 0 0;5 6 0 0 0 0];
lastnonzero=find(any(A~=0,1),1,'last') % the last column with a non-zero row
A(:,lastnonzero+1:end)=[]
3 Commenti
Net Fre
il 22 Nov 2021
OK, much better than mine :)
Didn't know about any. Notice that your code will ingore non-zero negatives.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!