
Find the list of edges between 2 nodes
조회 수: 2 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
답변 (1개)
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)

댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!