构造一组变量

时间:2015-09-05 18:03:08

标签: netlogo

我对Netlogo有疑问。我有两个品种的龟,品种1和品种2。 Breed2有一个名为theta的变量。首先,随机数量的品种1龟变为品种2;品种2然后theta随机设置。之后,另一个随机数的品种1成为品种2,他们也将随机设置。

我的两个问题是:

1。)我怎样才能确保只有那些在第二轮变种中改变其品种的海龟才能设置它们的theta变量?我不希望第一轮中发生变化的那些人在更改后立即丢失为他们设置的theta变量。

2。)有没有办法构建一组到目前为止已设置的所有theta变量?我希望我的breed2稍后根据到目前为止设置的theta的最大值做出决定。

谢谢!

1 个答案:

答案 0 :(得分:2)

你应该分别提出两个不同的问题,但是......

  1. 有很多方法可以做到这一点。示例1:如果始终更新为theta的非零值,则只测试零并仅更改零。示例2:向breed2添加can-change-theta属性并始终将其初始化为true,但在重置theta后将其更改为false。示例3:将新的breed2s收集到代理集(或列表中,如有必要),并仅为这些乌龟更改theta。

  2. 如果您真的想要最大值,则不需要所有值。只需添加一个全局变量max-theta,并在每次更新theta时更新它。如果您真的想要所有,请添加thetas全局并将其初始化为空列表;每次更新theta属性时都会附加到此列表,并使用max随时提取最大值。