complex network——ER网络的创建(二):G(G, L)

ER网络的创建之G(N,L)法

ER网络的创建一般分为两种方法,

  1. G(N, p):给定N个节点,每两个节点之间有概率p链接
  2. G(N, L):给定L条边,随机放置

其中G(N,p)法在ER网络的创建、degree distribution与可视化

接下来进行G(N,L)法的实验

大体思路:根据average degree 计算出 L = a v g D e g ∗ N / 2 L = avgDeg * N / 2 L=avgDegN/2,然后随机分配L条边

其中最重要的代码如下:

void rlatMatInit(Mat_t rlatMat, int n, int links)
{
   
	for (int i = 0; i < n; i ++)
		for (int j = 0; j < n; j ++)
			rlatMat[i][j] = 0;

	while (links)
	{
   
		int i = RANDOM(n), j = RANDOM(n);
		while (i == j ||  // 不自环
			rlatMat[i][j] == 1)
		{
   
			i = RANDOM(n);
			j = RANDOM(n);
		}
		// find a rand blank
		rlatMat[i][j] = rlatMat[j][i] = 1;
		links -= 1;
	}
}

即关系矩阵的构建

进行实验
当N=50, average degree=0.5时

当N=50, average degree=1时

当N=50, average degree=2时

当N=50, average degree=4时

摘自https://blog.csdn.net/qq_36926570/article/details/104728988 此处

根据平均度的取值可以将网络特征分为四个区域:
k<1:亚临界 不存在最大连通集团 最大的群是一个树结构
k=1:临界 存在唯一的一个最大连通集团 规模小的子图是树形结构,最大连通集团含有环。
k>1:超临界 存在唯一的最大连通集团 最大连通集团含有环。
k>lnN:连通 只有一个
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
复杂网络是由大量节点和链接组成的网络结构,节点代表网络中的个体,链接代表节点之间的连接关系。复杂网络的研究可以帮助我们理解和揭示复杂系统的结构和功能,广泛应用于社交网络分析、生物网络分析、交通网络分析等领域。 MATLAB是一种功能强大的科学计算软件,它提供了用于建立和分析复杂网络的工具包。在MATLAB中,我们可以使用网络对象来表示和操作复杂网络网络对象提供了丰富的函数和方法,使得我们可以方便地进行网络的构建、修改和分析。 使用MATLAB进行复杂网络分析的一般步骤包括: 1. 创建网络对象:利用MATLAB的网络对象函数,可以从原始数据或随机生成的方式创建一个网络对象。 2. 网络可视化:使用MATLAB的绘图函数和网络对象的可视化方法,可以将网络以图形的方式展示出来,直观地了解网络的结构。 3. 网络属性计算:MATLAB提供了一系列用于计算网络属性的函数,如节点度数、聚类系数、平均路径长度等,通过这些函数可以了解网络的特征和特性。 4. 节点中心性分析:节点中心性是衡量节点重要性的指标,MATLAB提供了一些经典的节点中心性计算方法,如介数中心性、接近中心性等。 5. 社区发现:MATLAB提供了用于社区发现的函数和算法,通过将网络划分为多个社区,可以揭示网络内部的结构和组织。 6. 网络动力学模拟:使用MATLAB的ODE求解器,可以建立和模拟复杂网络的动力学模型,研究网络的演化和行为。 总之,MATLAB提供了丰富的工具和函数,可以方便地进行复杂网络的建模、分析和仿真,帮助人们深入理解和研究复杂系统的结构与性质。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值