AnyLogic - 连接到指定代理
AnyLogic - connection to a specified agent
我是 AnyLogic 的新手,我正在尝试创建自定义网络...但我没有成功完成此任务:(
代理有一个参数 "AgeClass",它是一个从 0 到 14 的整数,根据他们的年龄。
然后我有一个变量 "network",它包含年龄 class 之间 link 的平均数。
我想要的是每个代理根据矩阵与其他代理创建link。
我不知道怎么跟代理人说 "connect to another agent with AgeClass = 3"
我的想法是这样的(放在 "on startup block" 或代理类型中的事件中):
int i = AgeClass \ this is the AgeClass of the agent who is executing the code
for( int j=0; j<network[i].length; j++ ) { \ in this way I go through all the age classes
for ( int k=0; k<poisson(network[i] [j]); k++) { \ for every j I get the mean # of link
connectTo(????);
}
}
而不是????我想说 "connect to another agent with AgeClass = j" ...有办法彻底解决吗?
感谢支持!!!
请使用函数 "filter()" 来 select 来自 AgeClass = j 的人口中的所有代理人。然后,您可以随机获取它们以连接到执行代码的代理。表达方式 ????可能看起来像:
randomFrom(filter(main.people, p -> p.AgeClass == j))
这里是函数的描述"filter()":
http://help.anylogic.com/topic/com.xj.anylogic.help/html/agentbased/Subset.html
我是 AnyLogic 的新手,我正在尝试创建自定义网络...但我没有成功完成此任务:(
代理有一个参数 "AgeClass",它是一个从 0 到 14 的整数,根据他们的年龄。
然后我有一个变量 "network",它包含年龄 class 之间 link 的平均数。
我想要的是每个代理根据矩阵与其他代理创建link。
我不知道怎么跟代理人说 "connect to another agent with AgeClass = 3"
我的想法是这样的(放在 "on startup block" 或代理类型中的事件中):
int i = AgeClass \ this is the AgeClass of the agent who is executing the code
for( int j=0; j<network[i].length; j++ ) { \ in this way I go through all the age classes
for ( int k=0; k<poisson(network[i] [j]); k++) { \ for every j I get the mean # of link
connectTo(????);
}
}
而不是????我想说 "connect to another agent with AgeClass = j" ...有办法彻底解决吗?
感谢支持!!!
请使用函数 "filter()" 来 select 来自 AgeClass = j 的人口中的所有代理人。然后,您可以随机获取它们以连接到执行代码的代理。表达方式 ????可能看起来像:
randomFrom(filter(main.people, p -> p.AgeClass == j))
这里是函数的描述"filter()": http://help.anylogic.com/topic/com.xj.anylogic.help/html/agentbased/Subset.html