MATLAB: How to pick the elements in a vector with row coordinates satisfying a criterion determined by another vector

matricesmatrixmatrix arraymatrix manipulation

Hi, I have a column vector A reporting the first m natural numbers, each of them repeated an arbitrary number of times, e.g.
A=[1;1;2;2;2;3;4;4;4;4];
and a column vector B reporting the first n natural numbers, n>=m, each of them repeated an arbitrary number of times, e.g.
B=[1;2;3;3;3;4;5;5;6;7];
I want to obtain a column vector C reporting the elements of B with row coordinates equal to the row coordinates of each natural number last repetition in A. In the example:
C=[B(2);B(5); B(6); B(10)];

Best Answer

[ii,ii]=unique(A,'last');
C = B(ii);