我正在使用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个”。 我该如何解决这个问题?