我是Netlogo计划的新用户,我想制作一个模型,以了解延伸獾(疫苗接种,剔除或两种控制策略之间的组合)可以减少獾群体中牛结核病的流行。该模型是基于代理的空间随机模型。 Netlogo中的代理代表了各个獾。并且空间将被表示为单元格网格(每个单元格将代表一个獾区域(组主范围(组大小将从最少2到10个獾)变化)),然后允许獾移动。獾将被允许以实证研究记录的速度每年繁殖和繁殖一次(时间步长),并且它们将死于研究中记录的死亡率。我想在1到3之间制作新的后代随机数,性别不同(男女性别比为1:1),1年后婴儿獾变成成人
我现在只想形成家庭和小组(每个家庭在一个十六进制中)
breed [nodes node]
breed [badgers badger]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
badgers-own [ age
gender
adult-age
]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
to setup
clear-all
set-default-shape nodes "hex"
;; create a hex grid of nodes
ask patches
[ sprout-nodes 1
[ set color white ;; the color of the hex patches is white
set size 1.2
;; shift even columns down
if pxcor mod 2 = 0
[ set ycor ycor - 0.5 ] ] ]
;; connect the nodes to make a lattice
ask nodes
[ ifelse pxcor mod 2 = 0
[ create-links-with nodes-on patches at-points [[0 1] [1 0] [1 -1]] ]
[ create-links-with nodes-on patches at-points [[0 1] [1 1] [1 0]] ] ]
ask links [ hide-link ]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ask patches [
sprout-badgers 1
[set size 0.2
set color pink
set age 0
set age adult-age + 1
set gender "female"
if pxcor mod 2 = 0
[ set ycor ycor - 0.5 ]]]
ask patches [
sprout-badgers 1
[set size 0.2
set color blue
set gender "male"
set age 0
set age adult-age + 1
if pxcor mod 2 = 0
[ set ycor ycor - 0.5 ]
]]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ask badgers [
let male-num-per-group count badgers-here with [color = blue ]
let female-num-per-group count badgers-here with [ color = pink]
ask badgers [ if male-num-per-group >= 1 [ create-a-newborn]
ask badgers
[ if female-num-per-group >= 1 [ create-a-newborn]]]]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
to create-a-newborn
create-badgers random 4
end
但是总是给我一个错误,就像我不能使用create-a-newborn作为乌龟上下文一样,因为create-a-newborn只是观察者。
问Marwa
答案 0 :(得分:1)
如错误消息所述,只有观察者可以create-turtles
。但是,乌龟可以hatch-turtles
,补丁可以sprout-turtles
所以,请尝试hatch-badgers
。