netlogo - NetLogo - 不超过 5% 的人口具有一定的变量值
问题描述
我怎样才能给每个tick随机数量的海龟一个二进制变量(1或0)的变化,而在任何时候都不超过5%的现有人口在该变量中的值为0?
换句话说,我希望变量值为 0 的海龟总数在每个刻度的海龟总数的 0% 或 5% 之间。
我怎样才能做到这一点?
我的代码是:
to setup
create-turtles 100
set var random 1 (only 5 % max shall have a 0 at start)
end
to start
change
end
to change
let %draw (random 1)
if (%draw < 0) … ; than I do not how to continue
end
解决方案
该n-of
原语选择指定数量的代理。你想要一些数字,所以你还需要随机生成数字。像这样的东西:
to setup
create-turtles 100 [ set var 1 ] ; give them all value 1
ask n-of random 6 turtles [ set var 0 ] ; randomly selects 0 to 5 turtles, assigns value 0
end