replacing values in a vector with new value?
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Basically, I have a large vector and want to add 180 to all the negative values and subtract 180 to all positive values in the vector. Finally, I should have the same size vector with the changes. Appreciate a helping hand
1 commentaire
Azzi Abdelmalek
le 27 Août 2016
This is almost the same question you posted here http://www.mathworks.com/matlabcentral/answers/300057-i-want-add-a-value-to-every-element-that-is-less-than-zero-in-my-vector#comment_386034
Réponses (2)
James Tursa
le 27 Août 2016
Modifié(e) : James Tursa
le 27 Août 2016
v = your vector
n = v < 0; % the negative indexes (logical)
p = v > 0; % the positive indexes (logical)
v(n) = v(n) + 180;
v(p) = v(p) - 180;
Note: This doesn't change any exact 0 values, per your description.
0 commentaires
Image Analyst
le 27 Août 2016
Try this:
v = v - sign(v) * 180
where v is your vector. It will do what you asked for.
0 commentaires
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!