首页 > 解决方案 > 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

标签: netlogo

解决方案


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

推荐阅读