anylogic中如何构建复杂网络_如何对复杂网络建模所需要的数据进行预处理

a8df6cb72f9fcd7ff42c7aff28d777bf.png

上一篇文章介绍了如何构建Space L实体网络的模型,这一篇是对上一篇文章的一个补充优化。

以下部分摘自上一篇文章:

邢八宝:如何建立复杂网络实体网络的Space L模型?​zhuanlan.zhihu.com
6520f9b73b4ff513e7ea795242f4f9b7.png
地铁网络,一般都有三四百个节点,线路十几条左右,看地铁图的是一个眼花缭乱。若是人工统计出来数据也是一项大工程。看着就想放弃,但其实掌握一定的方法并没有那么的费劲。
按线路进行节点的统计,先编号,然后去除掉重合的节点
统计连接关系时有一定的规则:比如从左往右统计、从上往下统计,这样可以避免重复统计
不要直接列出邻接矩阵,先统计出连接关系生成邻接表,然后再转成邻接矩阵
关于邻接表,最好再检查一遍
以上工作最好分成数天进行,否则负荷工作效率低且出错率较高

可以看到,建模时候最头疼的就是数据的处理问题,运用以上的经验可以提升我们的效率,但是治标不治本,依旧会浪费掉我们大量的时间。其实,如果不考虑换乘站(重复节点),连接关系还是比较好统计的,比如一条线路有10个站点,按顺序分别为a、b、c….j,那么连接关系可以表示为下图的1-9列:

d7aefbf5a6434df001cfb81941a293e0.png
线路示例

最近有一个需求,要统计某市的公交网络,有300多条线路,大概有3000多节点。如果此时还按之前的办法:人工统计线路中的站点,然后进行编号的话,那整个工程量不仅巨大,并且在统计过程中也很容易出错。

所以可以让程序帮助我们去识别站点名称,然后依次给它们编号,这样就可以生成直接使用邻接表。

具体处理方式,可以大概分为以下几个步骤

 % 1.从xls文件中,读取数据(或者直接新建数据)% rawDataNum是读取到的数值,可以是权重,数据类型:double% rawDataStr是读取到的字符串,是邻接表,数据类型:cell​% 2.用b接收rawDataStr中的所有不重复的字符串,数据类型 cell​% 3.因为cell类型矩阵中存储的是字符串数据,不好处理% 所以需要把b和rawDataStr转换为string数组b_str和raw_str% 注意这里可以检查一下b_str中的字符串​%4.进行数据处理test = [];​for i = 1:length(b_str)for j = 1:length(raw_str)%判断条件if(raw_str(j,1) == b_str(i,1))test(j,1) = i;end​%判断条件if(raw_str(j,2) == b_str(i,1))test(j,2) = i;end​endend%这时就可以得到邻接表test​%判断是否为无权网络,判断标准rawDataNum是否为空,这与你的初始数据有关if(length(rawDataNum) ~= 0)test = [test rawDataNum];elsedisp('无权网络') end​%这一步就是把邻接表test直接转换为邻接矩阵A,%可以参照:如何建立复杂网络实体网络的Space L模型中的函数A  = ainc2adj( test );% 判断是否有孤立节点if(length(find(~sum(A))))disp('存在孤立节点') end

测试邻接表:

48366ae5ccd4f760ee90ccfd5de4038e.png

结果:

15529d0756c3095cf109a019c4d4171c.png

节点编号与名称对应关系:

5598d2e7136b135bca3d4ac61f6cb0e4.png

可以看到效果还是不错的,而且不仅限于交通网络。对于一些较大型的实体网络,比如作者合作网络、社交网络,应该也会有不错的效果。欢迎大家与我进行交流。

给大家推荐一个非常好的科研网站,可以使用免费Web of Science、zhi网、IEEE、EI等账号。亲测好用。这个网站拥有众多的数据库,法律的、医学的、工科的,等等。【亲测好用!】2020中国知网免费入口_知网免费账号_Web of Science免费入口 - 80图书馆

该文章首发于:

XuXing’s blog​xuxing0430.github.io

复杂网络相关内容可以访问:

复杂网络​xuxing0430.github.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ajax需要引用什么js文件吗,如何在ajax调用中包含js文件?

嘿,我找到了添加它的方法.... :)注意 - 这是一个同步过程,所以你不必担心脚本是否加载....脚本将始终加载实例你调用该函数,你可以立即开始使用加载的脚本..让我们使用这两个功能1)第一个是用于检索值的ajax函数async应为true以同步发送请求/…

门户网站服务器迁移,云服务器怎么迁移网站

1、寻找新的服务器产品在原云服务器暂时不关闭的前提下, 寻找新的服务器。寻找到新的服务器空间之后,将原主机空间的网站进行备份,并下载备份数据。2、配置新服务器环境一般找到新服务器空间之后,需要根据原网站程序对新服务器进行…

c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改

分页方式不同,oracle使用rownum,mysql使用limit使用hibernate的QBC不用修改,但hql和sql都应该用统一方法修改mysql子查询必须带别名select * from (select * from city where city_id 1) t 别名(此处是t)必须加存在差异的函数a)日期转字符串…

nodejs mysql access denied_Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’...

前言最近在工作中遇到问题,问题如下:Unhandled rejection SequelizeAccessDeniedError: Access denied for user lupenglocalhost (using password: YES)这是Node在使用Sequlize连接Mysql数据时报的错,关键看冒号后面的错误:访问拒…

消息存储服务器吗,消息服务器 消息存储

消息服务器 消息存储 内容精选换一换华为云分布式消息服务帮助中心,为用户提供产品介绍、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用分布式消息服务。消息服务器 消息存储 相关内容联邦学习部署服务的FL-Client接口…

mysql 跨实例复制数据_社区投稿 | MySQL 跨实例 copy 大表解决方案

作者简介任坤,现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL、mongoDB 和 Redis 维护工作。一、背景某天晚上 20:00 左右开发人员找到我,要求把 pre-prod 环境上的某张表导入到 prod ,第二天早上 07:…

ajax跨域只能是get,jsonp跨域请求只能get变相解决方案

1.java设置返回表头:response.setHeader("Access-Control-Allow-Origin","*");response.setHeader("Access-Control-Allow-Methods","POST");response.setHeader("Access-Control-Max-Age","1000");2.…

云服务器虚拟主机区别,云服务器和虚拟主机的区别

云空间服务是云计算服务的重要组成部分,是面向各类互联网用户提供综合业务能力的服务平台。平台整合了传统意义上的互联网应用三大核心要素:计算、存储、网络,面向用户提供公用化的互联网基础设施服务。采用操作系统虚拟化技术,虚拟化效率高,虚拟化License费用低,能共享操作系统…

php连接mysql并操作系统_PHP 连接并操作MySQL的一个实例

/*** MyClass 抽象类,用于执行查询语句**/class MyClass{const HOST 192.168.73.110:3306;const USER root;const PASSWORD root;const DB kmdbcenter;static $Instance false;private $QueryResult False;private final function __construct(){if(!mysql_connect(MyCla…

服务器上次文件命令,服务器上次文件命令

服务器上次文件命令 内容精选换一换当创建文件系统后,您需要使用云服务器来挂载该文件系统,以实现多个云服务器共享使用文件系统的目的。CIFS类型的文件系统不支持使用Linux操作系统的云服务器进行挂载。同一SFS容量型文件系统不能同时支持NFS协议和CIFS…

win7装mysql一直未响应6_win7重装mysql最后一步无响应解决方法

重新安装MySQL出示未响应,一般显示在安装MySQL程序最后一步的2,3项就不动了。这种情况一般是你以前安装过MySQL数据库服务项被占用了。解决方法:一种方法:你可以安装MySQL的时候在这一步时它默认的服务名是“MySQL” 只需要把这个…

spd不能修改服务器内存条的原因,修改内存SPD 解决蓝屏问题

修改内存SPD 解决蓝屏问题互联网 发布时间:2009-04-21 01:18:13 作者:佚名 我要评论问:一台电脑的内存是HY 256MB DDRII 533,最近又购买了一条HY 256MB DDRII 533内存,与原有内存组成双通道。使用时偶尔会出现蓝…

服务器批量修改代码,利用Redis实现多服务器批量操作

工作中遇到一个项目需要在多个平台编译打包,每次都需要登录到不同的服务器同步代码,编译,打包,上传,非常麻烦,于是想为何不能一次操作,多台服务器自动执行呢。网上找了下,有很多解决…

django与mysql实现增删_django与mysql实现简单的增删查改

模型定义from django.db import modelsclass Grades(models.Model):g_name models.CharField(max_length20)create_date models.DateTimeField()girl_num models.IntegerField()boy_num models.IntegerField()isDelete models.BooleanField(defaultFalse)def __str__(self…

服务器本地文件,云服务器 本地文件

云服务器 本地文件 内容精选换一换在云服务器上搭建网站后,部分客户通过本地网络访问网站时出现偶发性无法访问的情况。确认客户使用的本地网络。若客户的本地网络是NAT网络(本地主机通过NAT功能使用公网IP地址访问弹性云服务器),可能会导致该问题。若客…

mysql oracle 备份数据库备份_完整备份Oracle数据库

修改备份文件的有效时间(必须用spfile启动数据库)SQLgt; alter system set control_file_record_keep_time30 scopeboth;修改备份文件的有效时间(必须用spfile启动数据库)SQL> alter system set control_file_record_keep_time30 scopeboth;System altered.先启动归档SQL>…

修改域服务器IP,域控制器迁移以及修改服务器ip

windows2003域控制器如果服务器太旧就需要迁移至新的服务器上,经本人实验,无误。windows server 2003 域控制器转移迁移准备工作:1. 在Windows Server 2003上运行dcpromo命令将其升级为域控制器,并在升级时选择使其成为现有Windows 2003域的额外的域控制器。2. 在Wi…

mysql注入fuzz字典_sql注入fuzz bypass waf

本帖最后由 xmidf 于 2018-7-11 10:16 编辑作者:whynot 转自:先知0x0 前言这里是简单对sql注入绕过waf的一个小总结,非安全研究员,这里不讲原理,关于原理搜集了一些其他大佬的文章(文章在最下面请自取)&#xff0…

python如何开发网站_如何用Python写一个小网站?

一、准备 python基础相关准备:pygame的基础知识,参考目光博客的“用Python和Pygame写游戏-从入门到精通”安python 3.8.0 在python官网下载,不多说。安装pygame,命令:pip install pygame如安装较慢,可以参考…

python项目选择背景_Python - - 项目实战 - - 游戏背景

目标背景交替滚动的思路确定显示游戏背景01,背景交替滚动的思路确定运行 备课代码,观察 背景图像的显示效果:游戏启动后,背景图像 会 连续不断地 向下方 移动在 视觉上 产生英雄的飞机不断向上方飞行的 错觉 - - 在很多跑酷游戏中…