如何在NetLogo BehaviorSpace中报告各类车辆排放全局变量数据?
NetLogo BehaviorSpace 全局排放数据采集配置指南
操作步骤
- 打开BehaviorSpace:从NetLogo菜单栏选
Tools > BehaviorSpace,找到你建好的实验,点Edit进入编辑页。 - 添加报告器:在「Measure runs using these reporters」区域,点
Add,逐个输入要采集的全局变量名:total-ev-emissions、total-hybrid-emissions、total-combustion-emissions-old、total-combustion-emissions-middle、total-combustion-emissions-new- 对于
emission-data,直接输入变量名即可——如果它是列表、集合这类复杂结构,BehaviorSpace会自动记录;要是需要更易读的格式,提前在模型里用(word emission-data)这类表达式转成字符串,再把表达式填进去。
- 设置报告时机:在「When to measure」里选合适的时机:
- 要最终数据就选
at the end of each run - 要阶段性数据就选
every [X] ticks,填好间隔步数
- 要最终数据就选
- 保存运行:确认所有报告器加完,点
OK保存配置,再点Run启动分析。
踩坑排查
- 先确认这些变量是全局变量:模型代码里必须有
globals [ total-ev-emissions ... ]这类声明,要是是海龟变量,得用sum [变量名] of 对应海龟群来聚合出全局值。 - 检查变量更新逻辑:确保模型每步都在正确累加或赋值这些排放总量,别到最后是空值或者0。
- 复杂数据处理:如果
emission-data是嵌套列表、表格这类,在模型里加个自定义报告器格式化:
然后在BehaviorSpace里加to-report formatted-emission-data report reduce [word ?1 " | " ?2] emission-data endformatted-emission-data当报告器,导出后更容易读。
内容的提问来源于stack exchange,提问作者Tanyta
相关产品推荐
相关产品推荐

