NetLogo中如何为指定比例的智能体群体设置对应属性
NetLogo 指定比例智能体属性设置方案
直接给出你需要的8%占比的对应代码:
ask n-of (round (0.08 * count households)) households [set composition 1]
代码说明
count households用于获取当前模型中所有households智能体的总数量- 乘以0.08得到对应8%的智能体数量,通过
round取整,避免小数参数导致n-of语句报错 - 如果你有特殊取整需求:向上取整替换
round为ceiling,向下取整替换为floor即可
拓展用法
如果你需要灵活调整占比,不需要每次修改代码,可以在NetLogo界面添加一个取值范围为0~1的滑块控件,命名为composition-proportion,对应代码改为:
ask n-of (round (composition-proportion * count households)) households [set composition 1]
注意:如果执行赋值前已有部分households的composition值为1,建议先执行全局重置语句,避免实际占比超出预期:
ask households [set composition 0]
内容的提问来源于stack exchange,提问作者amik89
相关产品推荐
相关产品推荐

