最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python 模擬病毒傳播(2020年7月6日)

2021-02-28 15:23 作者:阿-岳同學(xué)  | 我要投稿

效果圖

動(dòng)態(tài)圖
靜態(tài)圖


主要思路

首先創(chuàng)建一個(gè)二維數(shù)組表示人群,內(nèi)部元素全都是[1, 7]內(nèi)的隨機(jī)整數(shù),這每一個(gè)數(shù)表示一個(gè)人,數(shù)字越大表示抵抗力越強(qiáng),數(shù)字越小表示抵抗力越弱。

創(chuàng)建完成后就開(kāi)始隨機(jī)將人群中的幾個(gè)人轉(zhuǎn)為感染狀態(tài),不管抵抗力強(qiáng)弱,隨機(jī)感染。

然后開(kāi)始進(jìn)入了“人群運(yùn)動(dòng) + 病毒擴(kuò)散”的無(wú)限循環(huán)。先人群運(yùn)動(dòng),再病毒擴(kuò)散。

人群運(yùn)動(dòng):就是模擬人群里每個(gè)人的社交活動(dòng),例如出門(mén)外出,拜訪(fǎng)朋友,旅游購(gòu)物等等……這個(gè)模擬的沒(méi)有那么真實(shí),原理上只是很簡(jiǎn)單的隨機(jī)抽兩個(gè)人并讓它們交換位置,并執(zhí)行n次。如果把已經(jīng)被感染的人交換了出去,被感染的人進(jìn)入到了一大片沒(méi)有感染的區(qū)域中,那么這片區(qū)域很可能就要發(fā)生擴(kuò)散式感染了。

病毒擴(kuò)散:遍歷每一個(gè)人,如果當(dāng)前這個(gè)人的抵抗力數(shù)小于某一范圍內(nèi)被感染的人數(shù),(這個(gè)范圍是:以當(dāng)前這個(gè)人為圓心,一個(gè)元素間隔為單位長(zhǎng)度,以r為半徑的圓內(nèi),包括圓上,排除他自己的人)則這個(gè)人就被感染,并在遍歷完所有人的時(shí)候修改所有人的感染狀態(tài)。

感染規(guī)則圖


如圖:中間橘色的點(diǎn)表示被遍歷時(shí)所判定的人,感染判定半徑為2,則所有綠色的點(diǎn)和紅色的點(diǎn)都是能夠?qū)Υ巳嗽斐捎绊懙娜耍绻@些人中感染的人數(shù)過(guò)多了,人數(shù)超過(guò)了他的抵抗力系數(shù),那么他就被感染了,圖中有兩個(gè)人被感染,即如果此人的抵抗力系數(shù)小于2,那么這個(gè)人就被感染了。

參數(shù)調(diào)整:

  1. 可以自定義數(shù)組的長(zhǎng)寬來(lái)設(shè)定人群的數(shù)量

  2. 可以通過(guò)調(diào)整元素內(nèi)部的隨機(jī)整數(shù)范圍來(lái)調(diào)整人均抵抗力分布范圍

  3. 可以通過(guò)調(diào)整感染半徑r來(lái)表示病毒的傳播能力,或者人與人之間采防護(hù)措施的程度。

  4. 可以通過(guò)調(diào)整人群運(yùn)動(dòng)的執(zhí)行次數(shù)n來(lái)表示人群活動(dòng)能力。

制作背景

大以上學(xué)期期末,想到一種模擬病毒傳播的模型,想到就開(kāi)始動(dòng)手做了。

源代碼




Python 模擬病毒傳播(2020年7月6日)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
沙坪坝区| 银川市| 淄博市| 北川| 罗定市| 麻栗坡县| 灵寿县| 普兰店市| 郯城县| 弥勒县| 洛川县| 巴塘县| 西畴县| 苗栗市| 大英县| 琼结县| 美姑县| 井研县| 扎囊县| 嵊州市| 都兰县| 广南县| 高要市| 正宁县| 越西县| 和田市| 望城县| 山阳县| 松滋市| 嘉定区| 习水县| 子洲县| 东乌| 大名县| 桦甸市| 曲阳县| 大同县| 水城县| 平邑县| 姜堰市| 肥城市|