How to label all the edges in a graph the euclidean distance between two adjacent nodes???
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammad Bhat
am 17 Mär. 2019
Kommentiert: Mohammad Bhat
am 18 Mär. 2019
Hi,
I have to weight each edge in below attached undirected graph with euclidean distance between two adjacent nodes. How we can do that???
0 Kommentare
Akzeptierte Antwort
Akira Agata
am 18 Mär. 2019
I think one possible solution would be like this:
% Make Graph object
rng('default');
s = [1 1 3];
t = [2 3 4];
G = graph(s,t);
% Calculate pair-wise Euclidian distance between every node
X = 10*rand(4,1);
Y = 10*rand(4,1);
d = pdist([X,Y]);
d = squareform(d);
% Label Euclidian distance for each edge
G.Edges.Wieght =...
arrayfun(@(j,k) d(j,k),G.Edges.EndNodes(:,1),G.Edges.EndNodes(:,2));
% Visualize the Graph
plot(G,'XData',X,'YData',Y,'EdgeLabel',G.Edges.Wieght)
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!