Replace elements of array with elements of another array without for loop

2 views (last 30 days)
A = [1 1 1 3 3 3 4 8 8 10 10 15 15]
B = unique(A)
B = [1 3 4 8 10 15]
I want the output to be [1 1 1 2 2 2 3 4 4 5 5 6 6]
I tried for loop :
for i=1:length(A)
A(A == B(i)) = i;
end
How can I do it without for loop?

Accepted Answer

Birdman
Birdman on 28 Mar 2018
Edited: Birdman on 28 Mar 2018
[B,ia,ic] = unique(A)
Third output argument ic will give you what you want.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!