2014-01-24 55 views
2

我已經建立了NetLogo模型,根據補丁的「獵物 - 丰度」值爲每個補丁創建獵物動物。具體來說,創建的獵物數量是基於平均「獵物 - 丰度」的泊松過程。獵物數量來源於我使用GIS擴展導入到NetLogo的ASCII文件。現在我想告訴單個獵物在獵物總數低於設置總數時(或者總數的一部分)重現。我可以告訴獵物在低於一定數量時複製(即numLargePrey < (18900)),但我不知道如何根據設置中的總數告訴獵物重現(每次設置模型時都會稍微變化)泊松過程)。我已經複製了迄今爲止我所擁有的內容。任何有關如何解決這個障礙的建議都將非常感謝。NetLogo根據安裝過程中創建的海龜總數詢問海龜孵化

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 

回答

2

如果我理解正確的話,你需要的是在設置存儲在一個全局變量獵物的數量。

您可以在程序的頂部聲明它是這樣的:

globals [ initial-number-of-preys ] 

然後,在你的setup過程結束時,放:

set initial-number-of-preys count preys 

而且您以後可以查看當前對這個變量的獵物數量,如:

if count preys < initial-number-of-preys 

(或東西s imilar)

+0

很簡單!謝謝。 – user2359494