我已经设置了一个NetLogo模型,根据补丁的“猎物 - 丰富”值为每个补丁创建猎物。具体而言,所创建的猎物数量基于具有平均“猎物丰富”的泊松过程。猎物丰富来源于我使用GIS扩展导入NetLogo的ASCII文件。现在我想告诉个体猎物在猎物总数低于设定总数时(或者那个开始总数的某个比例)重现。我可以告诉猎物在低于一定数量时重现(即numLargePrey < (18900)
),但我不知道如何根据设置时的总数告诉猎物重现(每次模型都会略有变化)由泊松过程设置)。到目前为止,我已经复制了我的内容。关于如何解决这一障碍的任何建议都将不胜感激。
to setup
ca
clear-all-plots
clear-output
clear-turtles
clear-drawing
set prey-abund-dataset gis:load-dataset "data_gis/prey_total.asc"
ask patches with [ prey-abund > 0 ] [sprout-preys random-poisson (prey-abund)
[set age random 6120
set size 1
set color yellow
set shape "cow"
set status "alive"
set numLargePrey (numLargePrey + 1) ]]
reset-ticks
end
to go
tick
reproducePrey
end
to reproducePrey
ask preys [ ifelse numLargePrey < (18900)
[if hunger-prey < 60 [ if (age = 1080) or (age = 1850) or (age = 2555); or (age = 3285) or (age = 4015)
[let littersizeLarge random growthRateLarge
repeat littersizeLarge [hatch 1 [set age 0
set numLargePrey (numLargePrey + 1)]]]]
][stop]]
end
答案 0 :(得分:3)
如果我理解正确,您只需要在全局变量中存储设置的捕获数量。
您可以在程序的顶部声明如下:
globals [ initial-number-of-preys ]
然后,在setup
程序结束时,输入:
set initial-number-of-preys count preys
您可以稍后检查此变量的当前捕食数,例如:
if count preys < initial-number-of-preys
(或类似的东西)