AnyLogic 在一个过程中更改参数值
Posted
技术标签:
【中文标题】AnyLogic 在一个过程中更改参数值【英文标题】:AnyLogic change parameter value at a process 【发布时间】:2020-04-13 19:09:00 【问题描述】:在 AnyLogic 仿真软件中,我有一个具有一些参数的代理。我只希望每当此代理从特定进程传递时,例如延迟,将其参数值更改为另一个值。此外,如果我有 100 个人(所有相同类型的代理)从这个过程中通过,我会将这些个人的前 40 个参数值更改为 1,将后 60 个值更改为 2。这可能吗?我是否需要在这些框中编写代码:
【问题讨论】:
【参考方案1】:是的,您必须在其中一个框中编写一些代码。
创建一个名为v_count
的整数变量并将初始值设置为0。如果您希望代理的参数在进入块后立即更改,请将此代码写入“输入”框,否则如果您希望它们是当他们离开区块时改变了,写成“退出时打开”:
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;
【讨论】:
非常感谢!你知道我如何在运行后检查每个代理的值吗?我不想使用“绘图”模块绘制单个代理的参数值,而是希望获得所有代理的最终参数! 我能想到办法!如果你在另一个问题中问这个会更好,这样我们可以详细解释并附上图片。谢谢! 现在做很酷:)以上是关于AnyLogic 在一个过程中更改参数值的主要内容,如果未能解决你的问题,请参考以下文章