當前位置:編程學習大全網 - 編程軟體 - Python 模擬病毒傳播

Python 模擬病毒傳播

首先創建壹個二維數組表示人群,內部元素全都是 [1, 7] 內的隨機整數,這每壹個數表示壹個人,數字越大表示抵抗力越強,數字越小表示抵抗力越弱。

創建完成後就開始隨機將人群中的幾個人轉為感染狀態,不管抵抗力強弱,隨機感染。

然後開始進入了 “人群運動 + 病毒擴散” 的無限循環。先人群運動,再病毒擴散。

人群運動: 就是模擬人群裏每個人的社交活動,例如出門外出,拜訪朋友,旅遊購物等等……這個模擬的沒有那麽真實,原理上只是很簡單的隨機抽兩個人並讓它們交換位置,並執行n次。如果把已經被感染的人交換了出去,被感染的人進入到了壹大片沒有感染的區域中,那麽這片區域很可能就要發生擴散式感染了。

病毒擴散: 遍歷每壹個人,如果當前這個人的抵抗力數小於某壹範圍內被感染的人數,(這個範圍是:以當前這個人為圓心,壹個元素間隔為單位長度,以r為半徑的圓內,包括圓上,排除他自己的人)則這個人就被感染,並在遍歷完所有人的時候修改所有人的感染狀態。

如圖:中間橘色的點表示被遍歷時所判定的人,感染判定半徑為2,則所有綠色的點和紅色的點都是能夠對此人造成影響的人,如果這些人中感染的人數過多了,人數超過了他的抵抗力系數,那麽他就被感染了,圖中有兩個人被感染,即如果此人的抵抗力系數小於2,那麽這個人就被感染了。

參數調整:

大以上學期期末,想到壹種模擬病毒傳播的模型,想到就開始動手做了。

  • 上一篇:廣東開放大學機械電子工程本科所有科目
  • 下一篇:孩子高考完了,也考不上大學,不知道學什麽技術好?
  • copyright 2024編程學習大全網