小编Pro*_*Nr1的帖子

NetLogo 列表和条件修改

我想有选择地修改列表的一些成员,但不是全部,这取决于成员是否满足某些条件。例如,在一个值列表中,我想从所有大于 9 的值中减去 9。

我试过

set nodeext2 map nodeext2 [ifelse-value (? > 9)  [? - 9][?]]
Run Code Online (Sandbox Code Playgroud)

但是得到一个“预期为常数”的错误。我也尝试过 if-else 并使用括号。谁能帮我?我觉得好像在某处清楚地说明了这点,但我一直找不到在哪里。

foreach if-statement map netlogo

4
推荐指数
1
解决办法
345
查看次数

NetLogo有两种自我参考

我想在某个乌龟的变量TurtlesICanSee中添加一个海龟组,这取决于那些乌龟的属性.例如,在一个应用程序中,我想只将乌龟本身添加到TurtlesICanSee,在另一个应用程序中我想添加两个海龟(如果有的话)与相邻的who-numbers(乌龟自己的who-number +或-1) .

如果我可以通过使用who-numbers找出第一个应用程序,我想我可以将其扩展到第二个应用程序.但是,我无法弄清楚第一个.

我试过了

ask turtles [ set TheTurtlesICanSee turtles with [who = ([who] of self)] ]

但这填补了每只乌龟的每只乌龟的TheTurtlesICanSee.

我想我理解为什么; NetLogo认为我希望每个海龟x都具有与其自身(x)相同的人数,即每只乌龟.但我没有.对于每个海龟x我希望每个海龟y具有与x相同的人数.

谁能帮我这个?请注意,第一个应用程序所需的解决方案是可以推广到第二个应用程序的解决方案.因此,没有任何方法可以将乌龟添加到其自己的变量中.我需要一种涉及谁的自我引用形式(或者我不想这样做的好的论据,但最好是前者).

netlogo

2
推荐指数
1
解决办法
741
查看次数

标签 统计

netlogo ×2

foreach ×1

if-statement ×1

map ×1