How to determine number of edges ?
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    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
      
      
 am 4 Sep. 2018
				Yes, looks like the code I suggested in https://www.mathworks.com/matlabcentral/answers/416045-how-to-make-a-line-between-random-nodes-connection#answer_333928
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 ?
Akzeptierte Antwort
  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
  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.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!