MATLAB: Define vector that assigns element positions in VecB, corresponding to values in VecA, when length(Vec​A)>length(​VecB)

arrayfind

I have an array
VecA=[0 1 0 -1 0 1 -2]
and the vector
VecB= [-2 -1 0 1 2]
I want to creat a vector of length=7, which contains the positiions of each of the elements from VecA in VecB, namely
VecC=[3 4 3 2 3 4 1]
How do I do this using vector operations (no loops)? Is it a one-liner?
Thanks!

Best Answer

[~,VecC]=ismember(VecA,VecB)