ba网络c语言编程,如何用C语言程序构造随机网络和BA无尺度网络
anhuati
答疑小能手
12-10
TA获得超过2123个赞
tic;
%%%%%% 四个输入变量
I=10; %% 表示现实的次数,I要大于或者等于3,才能对节点的度数用邻接矩阵进行统计
N=1000; %% 表示网络的节点的个数
m0=3; %% 表示网络的初始节点个数
m=1; %% 表示新点与旧网络连边的数目
realization_of_distribution=sparse(I,N);
for J=1:I % 对I次现实做平均,然后用这个平均值近似网络的度分布
format long;
adjacent_matrix=sparse(m0,m0);
for i=1:m0
for j=1:3
if j~=i
adjacent_matrix(i,j)=1;
end
end
end
adjacent_matrix=sparse(adjacent_matrix);
node_degree=sparse(1,m0); % node_degree表示各个节点的度数
for p=1:m0
%last_element=sparse(m0,1);
%last_element=cumsum(adjacent_matrix(1:m0,p));
%node_degree(p)=last_element(m0);
node_degree(p)=sum(adjacent_matrix(1:m0,p));
end
%%%%%%%%%%%%%%%%%%%%%%%%%
% 每次加入一个新点,新点和老点之间按照择优概率进行连接,
% 值得注意的是,每次新点加入之后,网络的择优概率都发生变化,
% 每一次循环都是一个相对独立的整体,要把流程进行分割处理
for iteration=4:N
[J,iteration]; % 控制现实和迭代的次数
total_degree=2*m*(iteration-4)+6; %%% 迭代之前的网络各个节点的度数之和
degree_frequency=node_degree/total_degree; %%% 每个节点的度数的频数,这是新点连边的择优概率
cum_distribution=cumsum(degree_frequency); %%% cum_distribution把区间 [0,1] 分成若干个小区间,从而对这些个小区间进行投点实验
interval=cum_distribution(1:(iteration-1)); %%% 这是小区间的端点,是cum_distribution的前 iteration-1 个元素
%**************************************************************************
%%% 下面把 r1 和 [0,1] 内的各个小区间的端点进行比较,落在第 i 小区间,就意味着和第 i 个节点相连边 %%%
choose=zeros(1,m); %%% choose存放的是和新点相连接的一个老点
%%% 选出第一个和新点相连接的顶点
r1=rand(1);
if r1
choose(1)=1;
elseif r1>=interval(iteration-2)
choose(1)=iteration-1;
elseif (r1>=interval(1))&r1
for j=2:iteration-2
if (r1>=interval(j-1))&r1
choose(1)=j;
break;
end
end
end
ba网络c语言编程,如何用C语言程序构造随机网络和BA无尺度网络相关推荐
- 计算器怎么用c语言编程,如何用C语言编写简易的计算器
表达式计算建议看一下<数据结构>,先转换为逆波兰表达式,然后再计算. 当然用字符串匹配也是可以的,但是这样复杂度会比较高, 匹配最里面的括号有一个方法就是寻找第一个右括号,和这个右括号对应 ...
- c语言编程技巧分析,C语言难点及编程技巧分析
摘要:近些年信息技术发展迅速,社会需要大量专业的计算机人才,C语言是学习计算机知识的专业理论课程,能够为以后的学习打下专业基础.但目前C语言学习受到各方面因素的影响,学习效果不是很理想,很多时候即使努 ...
- 中国象棋棋盘c语言编程,中国象棋 C语言编程.ppt
中国象棋 C语言编程 双人对弈中国象棋 程序所负责内容介绍 计算机生成红黑双方以及棋盘. 各个棋子的移动. 当危险时显示被"将军". 分支思路 1.棋盘棋子的制作与输出 棋盘 走子 ...
- c语言编程模拟选举,C语言编程题精选
C语言编程题精选 C语言编程题精选 1. 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2. 编程实现将任意的十 ...
- c语言求三门课总成绩,C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小...
C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小 关注:212 答案:3 mip版 解决时间 2021-01-17 10:35 提问者夜落花台 2 ...
- 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...
成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池 发布时间:2018-09-28 14:20 近似带有序布局 ...
- 罗定c语言,罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费...
罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费 首页 > 软件 > 罗定学c语言编程 作者:镀金池 发布时间:2018-10-04 23:40 依照c语言的法则, ...
- 单片机c语言编程下载,单片机C语言编程.doc
单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...
- 无尺度网络的鲁棒性和脆弱(小世界网络)
无标度网络 在网络理论中,无尺度网络(或称无标度网络)是带有一类特性的复杂网络,其典型特征是在网络中的大部分节点只和很少节点连接(节点的'度'很小),而有极少的节点与非常多的节点连接(节点的'度'非常 ...
- 从六度分隔到无尺度网络
1. 随机网络 现在我们来思考一个关于SNS形成的问题:我的朋友是从那里来的? 大约的故事是这样的: 从前,有个叫 mxwu的小孩出生在了中国某个二线城市的小院子里.他不知道为什么上帝没有把他安排在美 ...
最新文章
- github 项目绑定自己的域名
- 打电话化繁为简 网络电话直接省钱
- java怎么输出集合_Java 输出集合中的元素
- 突破领域边界,探索文创文保新趋势
- 修正mysqlcc在MySQL 5.0上常报的 Table 'xxx' doesn't exist 错误
- 什么?面试官问我Java内存模型!这不得给我加薪?
- 《RabbitMQ 实战指南》第一章 RabbitMQ 简介
- 数组常见异常 学习笔记
- DXUT框架剖析(4)
- 在Linux下安全删除eSATA设备
- 浅谈公路工程项目管理的发展趋势
- IE离线脱机安装,解决IE11安装时需要“获取更新”
- 微信小程序大家来找茬 ,快速通过方法
- 查看Windows系统的开机、关机时间
- Fires Dynamics Simulator(FDS)软件运行代码说明
- 离散数学 --- 特殊关系 --- 等价关系与集合的划分
- 短信或者邮件链接打开 APP(URL Scheme)
- Linux和Windows设备驱动架构比较
- 镜湖资本吴幽:集齐这六颗钻石、你就能成为区块链领域的灭霸
- VS2022社区版安装教程