replacing values in a vector with new value?

조회 수: 13 (최근 30일)
Leslie Paul
Leslie Paul 2016년 8월 27일
댓글: Azzi Abdelmalek 2016년 8월 27일
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일
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일
Try this:
v = v - sign(v) * 180
where v is your vector. It will do what you asked for.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by