如何在matlab中使用随机连接生成n个顶点的随机图

时间:2016-07-29 05:23:12

标签: matlab random graph-theory adjacency-matrix

您好我有兴趣创建具有n个顶点和随机连接的随机无向图。这个生成的图必须在nxn矩阵中显示它的邻接连接。我已经尝试过这个代码,但它不能满足我的要求。

   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 个答案:

没有答案