Advertisement

NetLogo模拟病毒传播SEIR模型

阅读量:

SEIR模型不多介绍,上图为我此次设定的感染图,s 为健康未感染状态,e为潜伏期,并且假定潜伏期无感染能力,i为感染状态,可以感染他人,r为康复状态,且不会再次感染。

代码如下:

复制代码
 breed [s a-s]

    
 breed [c a-e];;潜伏期 避开关键字e 所以取c
    
 breed [i a-i];;感染 infected
    
 breed [r a-r];;康复 recover
    
 breed [d a-d];;死亡dead
    
 i-own [life-time]
    
 to setup
    
   clear-all
    
   create-s 300 [;;初始化未感染人群249
    
     set color green
    
     setxy random-pxcor random-pycor
    
   ]
    
   create-i 5[;;初始化感染者10
    
     set color red
    
     setxy random-pxcor random-pycor
    
     set life-time 0
    
   ]
    
   create-r 0
    
   create-c 0
    
   create-d 0
    
   reset-ticks
    
 end
    
  
    
 to go
    
   ask s [move]
    
   ask r [move]
    
   ask i [
    
     move
    
     ask s in-radius 1 [
    
       if random 100 < infect[
    
     set breed c
    
     set color yellow
    
       ]
    
     ]
    
     if life-time > T [
    
       ifelse random 100 < death[
    
     set breed d
    
     set color black
    
       ]
    
       [set breed r
    
     set color gray]
    
     ]
    
   ]
    
   ask c [
    
     move
    
     if random 100 < trans[
    
       set breed i
    
       set color red
    
       set life-time 0]
    
     if random 100 < recover [
    
       set breed r
    
       set color gray]
    
   ]
    
   tick
    
   ask i [
    
     set life-time life-time + 1]
    
 end
    
  
    
 to move 
    
   left random 360
    
   fd 1
    
 end

运行效果如下

初始化

运行

全部评论 (0)

还没有任何评论哟~