Indexing negative and positive elements of a vector

Hello, I want to find a more elegant way of indexing positive and negative elements of a vector. Here is what I have so far. I have a vector of numbers (Vec1) and I would like to find a coresponding vector where the logical indexing assigns 1 to positive numbers and -1 to negative numbers.
e.g.
Vec1 = [-0.2 0.3 0.5 0.7 -0.4 0.5 -0.5]
PosInd = Vec1 > 0;
NegInd = (Vec1 < 0)*(-1);
IndVec = PosInd + NegInd;
IndVec is = [-1 1 1 1 -1 1 -1]
Is there a nicer (and more direct) way to do that?
Thanks in advance,
Martin

 채택된 답변

Jonathan Sullivan
Jonathan Sullivan 2013년 6월 24일
help sign
doc sign

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by