How to replace numbers in one vector according to two 'translation vectors'

1 view (last 30 days)
I probably just googled for the wrong terms as this seems to be a very common problem.
I have a vector A that needs to be translated into the vector D according to the rules set in vectors B and C.
A = [3; 5; 8];
B = [3; 4; 5; 7; 8];
C = [1; 2; 3; 4; 5];
D = ?
B and C say, how the translation works. Example 1: a 3 in A must become a 1 in D. Example 2: a 7 in A (although there isn't any, but if there were) must become a 4 in D.
So the solution for D must be [1; 3; 5]. How can I get there?

Accepted Answer

jonas on 16 Sep 2020
Edited: jonas on 16 Sep 2020
D = interp1(B,C,A)
jonas on 16 Sep 2020
My pleasure!
It makes sense if you think of your translation vectors as a function.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!