我正在编写一个具有两个品种的模型: 性工作者和军官 其中性工作者拥有一个布尔变量,该布尔变量在设置时会随机分布,但随后会根据警官的行为以及与警官的互动而随时更改。 我使用性工作者拥有的[信任吗? ]
,但是我不确定如何在性工作者群体中随机分配变量的y / n。非常感谢您的投入!
非常感谢!
答案 0 :(得分:2)
如果我正确理解了您的问题,那么您只是希望sexworkers
在设置时为true
变量在false
和trust?
之间随机选择。如果是正确的话,那么one-of
可能会为您解决问题-例如,运行以下简单设置:
breed [ sexworkers sexworker ]
sexworkers-own [ trust? ]
to setup
ca
create-sexworkers 1000 [
set trust? one-of [ true false ]
]
print word "% Trusting: " ( ( count sexworkers with [ trust? ] ) /
count sexworkers * 100 )
reset-ticks
end
如果您正在寻找某种不均匀分布,则可以使用random
或random-float
原语进行简单的分布。例如,如果我希望sexworkers
的25%以trust? = true
开头,则可以执行以下操作:
to setup-2
ca
create-sexworkers 1000 [
ifelse random-float 1 < 0.25 [
set trust? true
] [
set trust? false
]
]
print word "% Trusting: " ( ( count sexworkers with [ trust? ] ) /
count sexworkers * 100 )
reset-ticks
end
对于特定的发行版,请查看各种random reporters
有关加权随机性,请查看rnd
extension