AnyLogic 在进程中更改参数值

AnyLogic change parameter value at a process

在 AnyLogic Simulation 软件中,我有一个具有一些参数的代理。我只希望每当这个代理从一个特定的进程(比如延迟)传递过来时,它的参数值就会更改为另一个值。此外,如果我有 100 个人(都是同一类型的代理人)从这个过程中通过,我会将这些个人的前 40 个参数值更改为 1,并将最后 60 个参数值更改为 2。这可能吗?我是否需要向这些框写入代码:

是的,您必须在这些框之一上编写一些代码。

创建一个名为 v_count 的整型变量,并将初始值设置为 0。如果您希望代理的参数在他们进入块时立即更改,请写入此代码 "On enter" 框,否则如果你想让他们在离开街区时被改变写它 "On at exit":

if(v_count < 40)
    agent.parameter = value1;
else
    agent.parameter = value2;

v_count++;

//reset the count to 0 when 100 agents have passed through this block
if(v_count == 100)
    v_count = 0;