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

1 view (last 30 days)
Rayan Glus on 14 Mar 2021
Commented: Rayan Glus on 18 Mar 2021
Hi,
I have two row vectors with the same size.
A = randi(100,1,100); % Elements of A represent cities
B = randi([101, 200],1,100); % Elements of B represent some other cities
Is it possible to map each element in A with many elements in B ? For example, I want to connect A (i) with, let's say, three cities in B. Where i is a city in vector A.
Is it doable under some constraints?
Thanks!
Rayan Glus on 17 Mar 2021
Thanks for your nice explanation, Waseem.
So, I've been trying to map between A and B based on your explanation
A = 1:8;
B = 9:24;
But nothing works. I'm getting lots of errors. How should AB look like? a matrix?

Steven Lord on 17 Mar 2021
You can do this using an adjacency matrix:
A = [1 1 0; 0 0 1; 1 0 1];
D = digraph(A);
D.Nodes.Name = ["Boston"; "New York"; "Los Angeles"]
D =
digraph with properties: Edges: [5×2 table] Nodes: [3×1 table]
plot(D) Or you could build an empty graph or digraph and use addedges and addnodes to built it up incrementally.
D2 = digraph;
D2 = addedge(D2, "Boston", "New York");
D2 = addedge(D2, "New York", "Los Angeles");
D2 = addedge(D2, "Los Angeles", "Boston");
D2 = addedge(D2, "Los Angeles", "Los Angeles")
D2 =
digraph with properties: Edges: [5×1 table] Nodes: [3×1 table]
plot(D2) Rayan Glus on 18 Mar 2021
Thank you so much, Steven!
I tried your code while I was in the lab today, and it's just amzing.
But what I was looking for is how can I map the nodes of the digraph D you created with another digraph E's nodes. Is it via another adjacency Matrix?
A = [0 1 1; 1 0 1; 1 1 0];
E = digraph(A);
E.Nodes.Name = {'Las Vegas'; 'Miami'; 'Dallas'}
plot(E)
Thanks again.