不同性别的新后代

时间:2014-04-13 13:39:09

标签: netlogo

我是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

1 个答案:

答案 0 :(得分:1)

如错误消息所述,只有观察者可以create-turtles。但是,乌龟可以hatch-turtles,补丁可以sprout-turtles

所以,请尝试hatch-badgers