How to generate random graph of n vertices with random connections in matlab
    12 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi I am interested in creating random undirected graph with n vertices and with random connections. This generated graph has to display its adjacency connections in a nxn matrix.I have tried this code but it is not working for my requirement.
n=input('No. of vertices')
     c=input('Random connections')
     MM=0;   %arbitrary starting value
      all_nums=1:n;
        while MM ~=n*c
            M = sparse([],[],[],n,n,n*c);
            ctin = zeros(1,n);
            for ii=1:n
                noconnect=ctin>=c;
                noconnect(ii)=true;
                rem_nums = all_nums(~noconnect); % remaining numbers
                rp=randperm(n-sum(noconnect));
                rp = rem_nums(rp); % remaining numbers, hussled
                if numel(rp)<c
                    break
                else
                    r=rp(1:c);
                end
                M(ii,r)=1;
                ctin(r)=ctin(r)+1;
            end
            MM=sum(ctin);
        end
    end
       A= adjacency(M)
0 Commenti
Risposte (3)
  Luis De Medeiros
      
 il 29 Lug 2016
        
      Modificato: Luis De Medeiros
      
 il 29 Lug 2016
  
      You can create an adjacency matrix with random 1's and 0's by doing the following:
G = round(rand(n));
G = triu(G) + triu(G,1)';
G = G - diag(diag(G));
5 Commenti
  Walter Roberson
      
      
 il 31 Lug 2016
				Please expand on what you mean by "E number links". Do you mean a total of E edges across the entire graph? Would a valid random graph be one in which all E edges were connected to the first vertex and the other vertices were either not connected or were connected to the first vertex?
  Walter Roberson
      
      
 il 1 Ago 2016
        adj = spalloc(n, n, E);
idx = randperm(n * n, E);
adj(idx) = 1;
adj = min( adj + adj.', 1);
12 Commenti
  idris cinemre
 il 8 Mag 2021
				Is it possible to generate random RAN graph like attached fig. red dots indicate the RUs’ locations; black dots the routers/switches, green dot the CU location. RUs are only connected to a router, routers can be connected to each other and CU. 
  Walter Roberson
      
      
 il 8 Mag 2021
				First generate an appropriate connected graph for the Routers and switches only.
Then generate a bunch of other points, and calculate their nearest neighbour among the routers, and connect them to that neighbour.
Vedere anche
Categorie
				Scopri di più su Graph and Network Algorithms in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






