How to determine number of edges ?

2 Ansichten (letzte 30 Tage)
Asyran Abdullah
Asyran Abdullah am 2 Sep. 2018
Kommentiert: Asyran Abdullah am 4 Sep. 2018
Hi, below is the code for shortestpath:
%code
A = randi(1,8) ;
D = graph(A);
D.Edges.W3 = randi(13, numedges(D), 1);
D.Edges.Weight = D.Edges.W3;
p = plot(D,'o','EdgeLabel',D.Edges.Weight );
axis square;
grid on
path = shortestpath(D, 2, 5);
highlight(p,path,'NodeColor','g','EdgeColor','g')
end
The Result:
As the result shown that each of the point will generate 8 edges based on the "A = randi(1,8)" input. How can i determine the edges number manually?
Thanks.
  6 Kommentare
Walter Roberson
Walter Roberson am 4 Sep. 2018
But I am not certain what your question is? Are you trying to control the number of total edges that are created? Are you trying to control the minimum "degree" of each node? Are you trying to control the maximum degree? Are you trying to determine the degree of each node on the path between nodes 2 and 5 ?
Asyran Abdullah
Asyran Abdullah am 4 Sep. 2018
yes, based on your code. i try to determine the degree of each node, but nevermind i already get it. Thanks sir.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 2 Sep. 2018
Since every node seems to go to every node (even including itself), wouldn't it just be simply N*N/2 = 8*8/2 = 32?
  4 Kommentare
Asyran Abdullah
Asyran Abdullah am 3 Sep. 2018
I found this to prevent self loop
%
G = rmedge(G, 1:numnodes(G), 1:numnodes(G));
Walter Roberson
Walter Roberson am 4 Sep. 2018
The line I showed,
A = A - diag(diag(A));
prevents edges between a node and itself, provided that A is a square adjacency matrix.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

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!

Translated by