• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: BA网络  度分布  

资源简介

自己编写的matlab程序,用于生成BA网络并画度分布的双对数图,

资源截图

代码片段和文件信息

function [ output_args ] = Untitled( input_args )
%UNtitleD Summary of this function goes here
%   Detailed explanation goes here
%%% 从已有的m0个节点的网络开始,采用增长机制与优先连接的机制生成BA无标度网络
%% A ——————返回生成网络的邻接矩阵
m0=input(‘未增长前的网络节点个数m0:  ‘);
m=input(‘ 每次引入的新节点时新生成的边数m: ‘);
N=input(‘增长后的网络规模N: ‘);
disp(‘初始网络时m0个节点的连接情况:1表示都是孤立;2表示构成完全图;3表示随机连接一些边‘);
pp=input(‘初始网络情况1,2或3: ‘);
if m>m0
    disp(‘输入参数m不合法‘);
    return;
end
x=100*rand(1m0);
y=100*rand(1m0);

switch  pp
    case 1
        A=zeros(m0);
    case 2
        A=ones(m0);
        for i=1:m0
            A(ii)=0;
        end
    case 3
        for i=1:m0
            for j=i+1:m0
                p1=rand(11);
                if p1>0.5 
                    A(ij)=1;A(ji)=0;
                end
            end
        end
    otherwise
        disp(‘输入参数pp不合法‘);
        return;          
end 

for k=m0+1:N
    M=size(A1);
    p=zeros(1M);
    x0=100*rand(11);y0=100*rand(11);
    x(k)=x0;y(k)=y0;
    if length(find(A==1))==0
        p(:)=1/M;
    else
         for i=1:M
             p(i)=length(find(A(i:)==1))/length(find(A==1));
         end
    end
    pp=cum

评论

共有 条评论