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

NetLogo使用排序列表按索引取值提示元素不存在问题排查

问题根源

  • NetLogo的列表索引是从0开始计数的,你创建了3个personer对象,排序后的allehøjder列表长度为3,合法索引仅为0、1、2,你代码里用item 3访问自然会触发索引越界报错。
  • 除此之外你的代码还有多处逻辑错误:
    1. 最小值取值错误:你用item 1 (sort allehøjder)取最小值,实际排序后第一个元素(最小值)对应的索引是0
    2. 硬编码人数:所有计算逻辑里都写死了数值3,后续如果调整生成的personer数量,所有相关代码都要修改,建议用length allehøjder动态获取列表长度
    3. 运算优先级错误:中位数计算里的(3 + 1 / 2)没有正确加括号,NetLogo会优先计算除法,最终得到3.5的非整数索引,无法正常访问列表元素
    4. 中位数逻辑写反:当前ifelse的判断条件是长度 mod 2 = 0,满足时为偶数长度,走第一个代码块,但你第一个代码块的计算逻辑是奇数长度的中位数计算方式,第二个代码块反而用了偶数长度的取两个相邻值求平均的逻辑,完全颠倒。

修正后的核心代码片段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:18:03