如何将代理添加到演示文稿

How to add to agent to presentation

我正在尝试模拟奶牛的自我维持种群,但是当我动态地将新代理添加到主要代理的种群时,新创建的代理不会出现。如何解决?我使用

从母代理创建代理
this.main.add_cows();

first generation population

pupulation without presentation

确保初始位置设置正确,否则它可能会出现在您不期望的默认位置。类似于:

Cow myNewCow = this.main.add_cows();
myNewCow.setXY(uniform(0,600), uniform(0,400));

首先转到动画将存在的代理(这也是您的代理定义的地方)。在大多数情况下,这是主代理,因此您可能想要转到 "main" 并单击牛代理以查看牛代理属性中的 "initial location"。

创建新代理时,默认位置在代理动画位置,这可能在可见区域之外的某个地方,因为我们通常将定义的代理定位在 canvas 之外,而在您的如果所有奶牛的位置都相同。

现在您有其他选择:您可以 select 例如 space 中的随机坐标(假设您有一个 600x600 像素的正方形):

或者你可以select一个节点(只要在你的动画中定义了一个节点canvas:

所以,总结一下,当你在你的人口中创建一个新的代理时,你必须告诉 AnyLogic 你想在哪里找到它......否则,软件怎么知道你想要什么?