replacing values in a vector with new value?
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Azzi Abdelmalek
am 27 Aug. 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
Antworten (2)
James Tursa
am 27 Aug. 2016
Bearbeitet: James Tursa
am 27 Aug. 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 Kommentare
Image Analyst
am 27 Aug. 2016
Try this:
v = v - sign(v) * 180
where v is your vector. It will do what you asked for.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!