Find the list of edges between 2 nodes

조회 수: 2 (최근 30일)
Deepa Maheshvare
Deepa Maheshvare 2019년 11월 13일
편집: Akira Agata 2019년 11월 14일
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.

답변 (1개)

Akira Agata
Akira Agata 2019년 11월 14일
편집: Akira Agata 2019년 11월 14일
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)

카테고리

Help CenterFile Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by