NetLogo根据设置过程中创建的海龟总数要求海龟孵化

时间:2014-01-24 01:23:01

标签: netlogo

我已经设置了一个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

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您只需要在全局变量中存储设置的捕获数量。

您可以在程序的顶部声明如下:

globals [ initial-number-of-preys ]

然后,在setup程序结束时,输入:

set initial-number-of-preys count preys

您可以稍后检查此变量的当前捕食数,例如:

if count preys < initial-number-of-preys

(或类似的东西)