Indexing negative and positive elements of a vector
36 views (last 30 days)
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.
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,