# How to map points in Vector A with points in vector B?

3 views (last 30 days)
Rayan Glus on 10 Mar 2021
Commented: Rayan Glus on 13 Mar 2021
Hi,
I have two row vectors with the same size.
A = randi(100,1,100);
B = randi([101, 200],1,100);
I want to have another row vector AB where :
AB(i) = j ;% i and j are elements in A and B respectively
AB(j) = i;
AB's length supposed to be length of A + length of B, correct? What if in one case i and j happens to have the same value when both A and B are :
A = randi(100,1,100);
B = randi(100,1,100);
Thanks!
##### 2 CommentsShowHide 1 older comment
Rayan Glus on 10 Mar 2021
Thanks for your reply Jorg.
So, A and B are basically, vectors of cities. And I want to map between these cities. Let's say that city 21 in A is mapped to city 120 in B and vice versa.
If that's the case, the vector AB cannot be constructed.
I agree with you. But what if we define:
A = 1:100;
B = 101:200;
Would it be possible then to map between the i's and j's?

Sign in to comment.

### Accepted Answer

Steven Lord on 10 Mar 2021
So you want something like this?
v = randperm(10) % Shuffle the numbers from 1 to 10
v = 1×10
7 3 9 4 6 1 10 2 5 8
A = v(1:5) % Cut the "deck"
A = 1×5
7 3 9 4 6
B = v(6:10)
B = 1×5
1 10 2 5 8
AB = zeros(1, 10);
AB(A) = B;
AB(B) = A
AB = 1×10
7 9 10 5 4 8 1 6 2 3
##### 2 CommentsShowHide 1 older comment
Rayan Glus on 13 Mar 2021
Hi Steven,
Is it possible to map one to many? I apologize if it's a stupid question and undoable.

Sign in to comment.

### Categories

Find more on Creating and Concatenating Matrices 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!