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.pswp.cn/news/529731.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529731.shtml
英文地址,請注明出處:http://en.pswp.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,背景交替滾動的思路確定運行 備課代碼,觀察 背景圖像的顯示效果:游戲啟動后,背景圖像 會 連續不斷地 向下方 移動在 視覺上 產生英雄的飛機不斷向上方飛行的 錯覺 - - 在很多跑酷游戲中…