How to replace values in a matrix according to the reference matrix

3 views (last 30 days)
Assume matrix A and reference matrix B as follow:
A = [
1
4
8
10
3
2
7
6
3
6
];
% in matrix B two rows has 100 difference.
B = [
1 240
2 340
3 440
4 540
5 640
6 740
7 840
8 940
9 1040
10 1140
];
I want to replace matrix A's array according to the reference matrix B.
C = [
1 240
4 540
8 940
10 1140
3 440
2 340
7 840
6 740
3 440
6 740
];
  1 Comment
Stephen23
Stephen23 on 21 May 2017
Edited: Stephen23 on 21 May 2017
@Zhan: you keep asking questions, but you have never accepted any of the answers to any of your questions. Accepting answers shows which answer solved your question, and is also an easy way for you to say "thank you" for our volunteer effort helping you.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 21 May 2017
Edited: Andrei Bobrov on 21 May 2017
just
out = B(A,:)
or general case
[~,ii] = ismember(A,B(:,1));
out = B(ii,:);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!