replacing values in a vector with new value?

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

답변 (2개)

James Tursa
James Tursa 2016년 8월 27일
편집: James Tursa 2016년 8월 27일

0 개 추천

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.
Image Analyst
Image Analyst 2016년 8월 27일

0 개 추천

Try this:
v = v - sign(v) * 180
where v is your vector. It will do what you asked for.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

태그

질문:

2016년 8월 27일

댓글:

2016년 8월 27일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by