Displaying weights of edges in command window
조회 수: 11 (최근 30일)
이전 댓글 표시
Hi, I am working on the shortest path problem and I want to be able to display the total weights between 2 points in the command window. I've been able to display the route it has taken but I want it to display the weights of the edges as well
Thanks
댓글 수: 0
채택된 답변
Steven Lord
2017년 11월 3일
If you're using a graph or digraph and want to find the Weight for a particular edge, look at the Edges table, possibly in conjunction with findedge. Using the digraph created on this page with the Weights:
s = [1 1 2 2 3];
t = [2 4 3 4 4];
G = digraph(s,t);
G.Edges.Weight = [10 20 30 40 50]';
G
G.Edges
I can extract the weights of the edge between 1 and 4 with either of these lines:
G.Edges.Weight(findedge(G, 1, 4))
G.Edges{findedge(G, 1, 4), 'Weight'}
Of course, the shortestpath method gives you the edge IDs, so you don't need to use findedge here. Since edge (1, 4) is the second edge:
G.Edges{2, 'Weight'}
댓글 수: 5
Steven Lord
2017년 11월 3일
The second and third examples on the documentation page for shortestpath to which I linked in my answer show how to do that. The third example also includes a call to highlight to show the path, as you did in your comment from about two hours ago.
추가 답변 (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!