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无尺度网络相关推荐

  1. 计算器怎么用c语言编程,如何用C语言编写简易的计算器

    表达式计算建议看一下<数据结构>,先转换为逆波兰表达式,然后再计算. 当然用字符串匹配也是可以的,但是这样复杂度会比较高, 匹配最里面的括号有一个方法就是寻找第一个右括号,和这个右括号对应 ...

  2. c语言编程技巧分析,C语言难点及编程技巧分析

    摘要:近些年信息技术发展迅速,社会需要大量专业的计算机人才,C语言是学习计算机知识的专业理论课程,能够为以后的学习打下专业基础.但目前C语言学习受到各方面因素的影响,学习效果不是很理想,很多时候即使努 ...

  3. 中国象棋棋盘c语言编程,中国象棋 C语言编程.ppt

    中国象棋 C语言编程 双人对弈中国象棋 程序所负责内容介绍 计算机生成红黑双方以及棋盘. 各个棋子的移动. 当危险时显示被"将军". 分支思路 1.棋盘棋子的制作与输出 棋盘 走子 ...

  4. c语言编程模拟选举,C语言编程题精选

    C语言编程题精选 C语言编程题精选 1. 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2. 编程实现将任意的十 ...

  5. c语言求三门课总成绩,C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小...

    C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小 关注:212  答案:3  mip版 解决时间 2021-01-17 10:35 提问者夜落花台 2 ...

  6. 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...

    成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池   发布时间:2018-09-28 14:20 近似带有序布局 ...

  7. 罗定c语言,罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费...

    罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费 首页 > 软件 > 罗定学c语言编程 作者:镀金池   发布时间:2018-10-04 23:40 依照c语言的法则, ...

  8. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  9. 无尺度网络的鲁棒性和脆弱(小世界网络)

    无标度网络 在网络理论中,无尺度网络(或称无标度网络)是带有一类特性的复杂网络,其典型特征是在网络中的大部分节点只和很少节点连接(节点的'度'很小),而有极少的节点与非常多的节点连接(节点的'度'非常 ...

  10. 从六度分隔到无尺度网络

    1. 随机网络 现在我们来思考一个关于SNS形成的问题:我的朋友是从那里来的? 大约的故事是这样的: 从前,有个叫 mxwu的小孩出生在了中国某个二线城市的小院子里.他不知道为什么上帝没有把他安排在美 ...

最新文章

  1. github 项目绑定自己的域名
  2. 打电话化繁为简 网络电话直接省钱
  3. java怎么输出集合_Java 输出集合中的元素
  4. 突破领域边界,探索文创文保新趋势
  5. 修正mysqlcc在MySQL 5.0上常报的 Table 'xxx' doesn't exist 错误
  6. 什么?面试官问我Java内存模型!这不得给我加薪?
  7. 《RabbitMQ 实战指南》第一章 RabbitMQ 简介
  8. 数组常见异常 学习笔记
  9. DXUT框架剖析(4)
  10. 在Linux下安全删除eSATA设备
  11. 浅谈公路工程项目管理的发展趋势
  12. IE离线脱机安装,解决IE11安装时需要“获取更新”
  13. 微信小程序大家来找茬 ,快速通过方法
  14. 查看Windows系统的开机、关机时间
  15. Fires Dynamics Simulator(FDS)软件运行代码说明
  16. 离散数学 --- 特殊关系 --- 等价关系与集合的划分
  17. 短信或者邮件链接打开 APP(URL Scheme)
  18. Linux和Windows设备驱动架构比较
  19. 镜湖资本吴幽:集齐这六颗钻石、你就能成为区块链领域的灭霸
  20. VS2022社区版安装教程

热门文章

  1. 初试超轻量级actor框架——akka
  2. 无法使用资源管理器浏览文档库?
  3. 如何实现服务器启动自动创建日志
  4. 大型网站架构的演化[转]
  5. ORACLE 常用操作命令
  6. Silverlight 3.0正式版RTW的发布日期
  7. 【RPC】远程过程调用
  8. vue前期项目搭建所需要安装的插件,idea操作
  9. adb java_ADB - javalzy - 博客园
  10. hypermesh 复合材料_HyperMesh复合材料建模