You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NetLogo购物模型中使用斑块统计以周为单位的时钟周期?

嘿,我来帮你搭建这个NetLogo家庭-超市购物模型,同时搞定周周期时钟和斑块统计的需求!下面是完整的实现方案,分模块给你讲清楚~

1. 完整的基础购物模型代码

先给你一套能跑的基础模型,包含家庭、超市斑块和海龟往返逻辑:

2. 以周为单位的时钟周期实现细节

这里的核心是把NetLogo原生的tick(基础时间单位)转换成“周”的概念:

  • 定义ticks-per-day和days-per-week两个全局变量,你可以根据模型需求调整(比如每天10tick,每周7天就是70tick为一周)
  • 在go过程开头,通过ticks mod (ticks-per-day * days-per-week)判断是否进入新一周,自动更新current-week
  • 可选操作:每周重置斑块的统计变量,方便单独统计单周数据

你还可以在NetLogo界面添加一个监视器,绑定current-week变量,这样就能直观看到当前是第几周。

3. 斑块统计功能说明

模型里给斑块加了两个针对性的统计变量:

  • 家庭斑块的weekly-trips:记录该家庭每周的出行次数(每次海龟完成往返后+1)
  • 超市斑块的weekly-visits:记录该超市每周的到访次数(每次海龟到达后+1)

要可视化这些数据,你可以:

  • 添加一个表格组件,选择“斑块”作为数据源,列选weekly-trips和weekly-visits,就能看到每个斑块的实时统计值
  • 添加一个柱状图组件,比如按超市分组展示weekly-visits,直观对比不同超市的人气
  • 如果需要累计统计(而非单周统计),可以去掉每周重置变量的代码,或者新增total-trips/total-visits变量做累计统计
4. 自定义调整建议
  • 可以修改ticks-per-day来调整时间流速,数值越大,一天的模拟时长越长
  • 给海龟添加shopping-duration变量,模拟不同海龟在超市的停留时长差异
  • 给超市添加capacity变量,当到访人数超过容量时,让海龟排队等待,增加模型的真实性

内容的提问来源于stack exchange,提问作者Dwayne Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:47:48