Find the list of edges between 2 nodes

2 visualizaciones (últimos 30 días)
Deepa Maheshvare
Deepa Maheshvare el 13 de Nov. de 2019
Editada: Akira Agata el 14 de Nov. de 2019
I've the following graph with multiple edges.
tail = [1 2 2 4 5 3]
head = [2 4 5 3 3 6]
I would like to know how to find the list of edges between nodes 2 and 3.
Expected output = [2 4 3]
[2 5 3]
I tried using shortestpath for simple graphs. But for multigraph it gives one path. I'd like to know how to
obtain both paths.

Respuestas (1)

Akira Agata
Akira Agata el 14 de Nov. de 2019
Editada: Akira Agata el 14 de Nov. de 2019
How about the following?
tail = [1 2 2 4 5 3];
head = [2 4 5 3 3 6];
% Create graph object
G = graph(head,tail);
% Find a shortest path between 2 and 3
path = shortestpath(G,2,3); % <- this returns your expected output : [2 4 3]
% Visualize the result
figure
h = plot(G);
highlight(h,path,'EdgeColor','r','LineWidth',2)

Categorías

Más información sobre Graph and Network Algorithms en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by