在 Anylogic 中获取特定人群的代理参数
Get a parameter of an agent of a specific population in Anylogic
我遇到以下问题,希望得到一些帮助。
情况:
代理人A在人口X中,代理人B在人口Y中
我想将agent A的变量varA设置为agent B的varB。agent A和agent B在不同的群体X和Y中,但是agent B是群体B中唯一参数par1等于代理A的参数par1.
我正在尝试将其写入一个函数,每当我需要更新该特定参数时都会调用该函数,但未能成功。
非常感谢任何帮助。
最佳Heinz_S
假设您的种群名称是 popX 和 popY...最初 varA 与 varB 不同,您希望根据参数 par1
的匹配使它们相等
以下函数将匹配您群体中具有相同 par1 的所有代理,并使 varA 在所有情况下都等于 varB。您可能可以更有效地使用 stream()...但我不知道如何使用。
for(int i=0;i<popX.size();i++){
for(int j=0;j<popY.size();j++){
if(popX.get(i).par1==popY.get(j).par1){
popX.get(i).varA=popY.get(j).varB;
}
}
}
我遇到以下问题,希望得到一些帮助。 情况:
代理人A在人口X中,代理人B在人口Y中
我想将agent A的变量varA设置为agent B的varB。agent A和agent B在不同的群体X和Y中,但是agent B是群体B中唯一参数par1等于代理A的参数par1.
我正在尝试将其写入一个函数,每当我需要更新该特定参数时都会调用该函数,但未能成功。
非常感谢任何帮助。
最佳Heinz_S
假设您的种群名称是 popX 和 popY...最初 varA 与 varB 不同,您希望根据参数 par1
的匹配使它们相等以下函数将匹配您群体中具有相同 par1 的所有代理,并使 varA 在所有情况下都等于 varB。您可能可以更有效地使用 stream()...但我不知道如何使用。
for(int i=0;i<popX.size();i++){
for(int j=0;j<popY.size();j++){
if(popX.get(i).par1==popY.get(j).par1){
popX.get(i).varA=popY.get(j).varB;
}
}
}