NETLOGO:存储和使用最后3个刻度中的变量值

NETLOGO:存储和使用最后3个刻度中的变量值,netlogo,agent-based-modeling,Netlogo,Agent Based Modeling,我正在尝试模拟一个股票市场。我试图让代理商有某种行为来预测价格。 所以基本上,每个经纪人都预测股票的价格。在设置过程中,将随机预测价格分配给每个代理。随着时间的推移,预计价格的计算如下: 最近三期预测价格合计/3 我不知道如何处理这个问题。我尝试使用最后一个命令,但不起作用。我想做一种向量,但我做不到。有线索吗 这就是我迄今为止所尝试的: ask turtles [ set pre-price (pre-price + last [pre-price] of turtles + last [la

我正在尝试模拟一个股票市场。我试图让代理商有某种行为来预测价格。 所以基本上,每个经纪人都预测股票的价格。在设置过程中,将随机预测价格分配给每个代理。随着时间的推移,预计价格的计算如下: 最近三期预测价格合计/3

我不知道如何处理这个问题。我尝试使用最后一个命令,但不起作用。我想做一种向量,但我做不到。有线索吗

这就是我迄今为止所尝试的:

ask turtles [
set pre-price (pre-price + last [pre-price] of turtles + last [last [pre-price] of turtles] of turtles) / 3 ]
end
最后一个命令无法正常工作,因为我已尝试手动计算结果,但结果与此命令不一致。你知道怎么做吗


谢谢大家!

这实际上是一个非常有趣的bug

问题是在你的海龟叫牌中,你假设所有海龟的“预定价”都是静态的;但是,对于每个代理,它们都在分配变量


我建议引入另一个变量(使用矩阵/嵌套列表)显式存储每个勾号的预价。

有没有关于如何使用矩阵的想法?期望价格是一个函数,矩阵运算符期望其中包含一个文字值?我假设价格是一个数字。矩阵只适用于数字。这似乎是无效的。相反,您可能只需要为每个元素创建一个包含任务的嵌套列表。然而,我不认为你们的价格是一个随时间变化的函数(即最后3个滴答声的平均值可能会变为最后5个滴答声的平均值)。为什么不将应用函数的结果存储在嵌套列表中?因此,每个内部列表表示每个代理特定勾号的预价。基本上,预价是一个变量,在每个勾号上都会发生变化,因为它平均了过去3个周期内自身的值。因此,如果第一阶段的预价格为0,第二阶段为2,第三阶段为6,那么第四阶段的预价格应为8/3。我也不确定如何使用这个列表。list命令不允许使用函数,我无法在其中输入特定的数字:/