How to flip values greater than zero in a row
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Tanmoyee Bhattacharya
il 16 Apr 2018
Modificato: Stephen23
il 16 Apr 2018
If I have a row in matrix like that
0 0 0 0 1 2 3 0 0 0
I want to make it like that
0 0 0 0 0 0 3 2 1 0
If it is possible to do?
1 Commento
Stephen23
il 16 Apr 2018
@Tanmoyee Bhattacharya: the numbers a not only flipped L-R, but have been translated too. How is the new position determined?
Risposta accettata
Birdman
il 16 Apr 2018
Try this:
A=[0 0 0 0 1 2 3 0 0 0] idx=find(A~=0); A(idx+nnz(A)-1)=fliplr(A(idx)); A(idx(1:end-1))=0
1 Commento
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Argument Definitions 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!