Increase nonzero values without deleting zeros
Afficher commentaires plus anciens
I have a vector X.
X=[0 0 0 0 1 1 1 1 0 0 0 0 0 0 2 2 2 2 2 2 0 0 0 3 3 3 3 0 0 0 0 0 4 4 4]
I want to increase the values of the nonzero elements in vector X by 10 However, when I do this using the find function I end up just having a vector without the zeros.
Y=X((find(X~=0)))+10;
Y=[11 11 11 11 22 22 ... ]
Is there a way to do this without using a for loop?
2 commentaires
KSSV
le 12 Avr 2017
Where you want to place the non zeros numbers?
Réponse acceptée
Plus de réponses (1)
Adam
le 12 Avr 2017
X = ( X ~= 0 ) .* ( X + 10 );
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!