Python中基于代理的建模:使用时间步长作为参数定义步骤方法

时间:2018-06-17 15:11:19

标签: python agent-based-modeling

我正在使用Python的“mesa”库来定义基于代理的模型。我在定义代理程序和模型的步骤方法时遇到了问题。特别是我希望代理在模拟的第一个时间步骤中以某种方式运行,并且如果它们运行的​​时间步长在第一个时间之后以不同的方式运行。 我试图实现这个的方式是(以下是代理步骤方法):

def step(self, timestep):
    if timestep == 0:
       self.behaviour_1()
    else self.behaviour_2()

模型步骤方法是:

def step(self, timestep):
    self.schedule.step(timestep)
    self.datacollector.collect(self)

运行文件的结构如下:

for i in range(15):
    model.step(i)

不幸的是,当我运行这个时,我得到一个错误说:“step()需要1个位置参数,但是给出了2个”。 我该如何解决这个问题?

0 个答案:

没有答案