| Syntax: |
vout = WHERE(vector)
|
The WHERE function only accepts a
vector as argument. It returns the indices where this vector is not equal
to zero.
Examples
Suppose you have a vector X = [-5:5] and you enter
Y=WHERE(X>0),
then Y would be [7;8;9;10;11] since
X[Y] > 0. If you enter
Y=WHERE(X<=0)
then Y would be [1;2;3;4;5;6] since
X[Y] ≤ 0.
Suppose you have two vectors X and Y and you
want to graph only those points that lie within the unit circle, that is,
only those points that satisfy
SQRT(X2+Y2) ≤ 1.
The following commands produce the picture below.
GENERATE/RANDOM X -2 2 10000
GENERATE/RANDOM Y -2 2 10000
SET PLOTSYMBOL -17
SET %PLOTSYMBOLSIZE 0.5
SET AUTOSCALE COMMENSURATE
IDX=WHERE(SQRT(X^2+Y^2)<=1)
GRAPH X[IDX] Y[IDX]
