Netlogo 如何阻止红海龟(感染)立即变灰(恢复/移除)
我是Netlogo的新手,我一直在尝试编写流行病模拟代码。我已经看过Netlogo中可用的epidem和病毒模型,但我似乎仍然无法解决我的问题。 因此,最初随机抽取10只海龟被感染并变红,但我如何增加感染时间,使它们有时间感染其他海龟,而不是立即变灰(移除/恢复)? 任何反馈都将不胜感激! 这是我的密码:Netlogo 如何阻止红海龟(感染)立即变灰(恢复/移除),netlogo,Netlogo,我是Netlogo的新手,我一直在尝试编写流行病模拟代码。我已经看过Netlogo中可用的epidem和病毒模型,但我似乎仍然无法解决我的问题。 因此,最初随机抽取10只海龟被感染并变红,但我如何增加感染时间,使它们有时间感染其他海龟,而不是立即变灰(移除/恢复)? 任何反馈都将不胜感激! 这是我的密码: breed [women woman] breed [men man] breed [children child] turtles-own [ susceptible? infected?
breed [women woman]
breed [men man]
breed [children child]
turtles-own
[ susceptible?
infected?
removed?
infection-length ;; How long the person has been infected
recovery-time ;; Time it takes for the patient to recover
nb-infected
nb-recovered ]
to setup
clear-all
create-women 50
[ setxy random-xcor random-ycor
set color red + 2
set removed? false
set infected? false
set susceptible? true
set size 1.5 ]
ask women [ set shape "person"]
create-men 50
[ setxy random-xcor random-ycor
set color blue + 1
set removed? false
set infected? false
set susceptible? true
set size 1.5 ]
ask men [set shape "person"]
create-children 25
[ setxy random-xcor random-ycor
set color yellow
set removed? false
set infected? false
set susceptible? true
set size 1 ]
ask children [set shape "person"]
ask n-of 10 turtles
[get-infected]
reset-ticks
end
to go
ask turtles
[move
if infected? [infect]
if infected? [get-removed]
]
end
to move
rt random 100
lt random 100
fd .1
end
to get-infected
set infected? true
set color red
end
to infect
ask other turtles-here with [ not infected? and not removed? ]
[ if random-float 100 < infectiousness
[get-infected] ]
end
to get-removed
if recovery-time < duration
[ifelse random-float 100 < recovery-chance
[become-removed]
[die] ]
end
to become-removed
set infected? false
set removed? true
set color gray
end
品种[女性]
繁殖[男子]
品种[儿童]
乌龟自己的
[敏感?
感染?
远离的?
感染时间;这个人被感染了多长时间
恢复时间;病人恢复所需的时间
nb感染
[回收毒品]
设置
清除所有
创造女性50
[setxy random xcor random ycor
设置颜色为红色+2
设置已删除?错误
设置受感染?错误
设定敏感度?对
套装尺寸1.5]
询问女性[设定形状“人”]
创造男人50
[setxy random xcor random ycor
将颜色设置为蓝色+1
设置已删除?错误
设置受感染?错误
设定敏感度?对
套装尺寸1.5]
问男人[设定“人”的形状]
创建子对象25
[setxy random xcor random ycor
设置颜色为黄色
设置已删除?错误
设置受感染?错误
设定敏感度?对
设置大小1]
询问儿童[设置形状“人”]
询问10只海龟的数量
[感染]
重置滴答声
结束
外带
问海龟
[移动
如果感染了?[感染]
如果感染了?[移除]
]
结束
移动
rt随机100
lt随机100
fd.1
结束
感染
设置感染?真的
设置颜色为红色
结束
感染
询问其他海龟[未感染?未移除?]
[如果随机浮动100<传染性
[感染]]
结束
撤职
如果恢复时间<持续时间
[ifelse随机浮动100<恢复机会
[被删除]
[死亡]]
结束
撤除
设置感染?假的
集删除?真的
设置颜色为灰色
结束
看起来你从来没有告诉一只生病的海龟延长它的寿命。比如:
to get-removed
set duration duration + 1
if recovery-time < duration
[ifelse random-float 100 < recovery-chance
[become-removed]
[die] ]
end
删除
设置持续时间+1
如果恢复时间<持续时间
[ifelse随机浮动100<恢复机会
[被删除]
[死亡]]
结束
我应该帮忙