复杂网络-无标度网络matlab代码实现

本文介绍了如何使用MATLAB实现无标度网络,从创建随机网络开始,通过优先连接度更大的节点逐步构建。详细阐述了根据节点度统计、概率分配和度分布计算的过程,提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无标度网络是进入研究生,导师丢来的第一个作业,从本科的小小程序猿进入这种乍看一眼非常高大上的东西,还是有些恐惧和兴奋的。

由于没找到中文版的 Emergence of Scaling in Random Networks 就借助Google翻译,糙糙看了一下,粗略理解了无标度网络的提出和结构。

论文主要就是diss了随机网络,yo,yo,随机网络它太菜,现实生活不会有人爱,你的观点太直白,还想简单概括真实世界的舞台,要我看简直是胡来,skrskr。

其实随机网络之所以不能正确描述真实网络,主要是因为现实中的网络具有下面两种特性

    1。网络是通过新增节点而不断扩展的。
    2。新增的节点会优先连接在连通性更好的节点上。

而根据上面的两种特性根据论文中的描述实现无标度网络的算法步骤为:
1。先创建一个小型随机网络
2。新增节点,并且优先连接在度更大的节点上。

先看如何创建一个随机网络。首先需要一些初始的节点,先要有节点,才能连接边,有点有边才是一个齐齐整整的网络。 程序中设置的初始节点为 5。 有了5个节点,再为每一对节点随机的连接。

这里使用的方法是:

用一个邻接矩阵 作为无向图的存储,在这里就是用来存边的连接情况,1表示两个节点之间有边。 因为1表示有边,所以可以通过 随机出一个 0-1之间的小数,然后四舍五入得到非1即0的数字,而且0和1的概率一样。这样两个顶点之间是否有边就能随机生成了。

%随机连边  1表示有边
for i=1:m0
    for j= (i+1):m0
        A(i,j)= round(rand());   %非1即0
        A(j,i) =  A(i,j);
    end
end   %初始完成

完成随机网络后,接下来的工作就是往里面添加节点。新来的节点就好比是怡红院新来的小妹妹, 而老节点们自然是都想先‘连接‘一下新来的小妹妹,这里就要看哪一个老节点以前连接过的小妹妹多了,连接过的越多,活越好,小妹

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值