在AnyLogic模拟软件中,我有一个具有一些参数的代理。我只希望每当这个代理从一个特定的进程通过时,比如延迟,它的参数值就会被更改为另一个值。此外,如果我有100个个体(所有相同类型的代理)从这个过程中通过,我会将这些个体的前40个参数值更改为1,并将最后60个参数值更改为2。这可能吗?我是否需要向这些框中写入代码:
发布于 2019-12-22 06:54:59
是的,你必须在其中一个盒子上写一些代码。
创建一个名为v_count
的整型变量,并将初始值设置为0。如果你想让agent的参数在他们一进入程序块就被修改,写下这个代码"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;
https://stackoverflow.com/questions/59439320
复制相似问题