2014-11-05 205 views
2

我一直在netlogo工作一段时间,但有一件事我不能弄清楚。你可以问一只乌龟它的外链和链接是什么,但是有没有一种方法可以通过简单的两端和/或其他链接构造一个链接来获取相应的链接?Netlogo:询问导向链接“我的乌龟”和“我的乌龟”

现在我的代码是

if one-of both-ends [firing = true] and one-of both-ends [time-not-fired = 1] [do-stuff] 

,但我想要做的是

if my-in-turtle [firing = true] and my-out-turtle [time-not-fired = 1] [do-stuff] 

有比遍历与[发射所有海龟更容易/更快的方式=真]并询问他们所有的链接,如果另一端有[time-not-fired = 1]?

回答

2

我认为你正在寻找

in-link-neighbors 

它报告集的链接乌龟称其龟。

ask turtles with [firing] 
[ 
    ask in-link-neighbors with [time-not-fired = 1][do-stuff] 
] 

现在要谨慎这个代码我问一些海龟不止一次做东西。所以加入保障措施。

我意识到你想问的链接不龟。

“My-in-turtle”(来源)名为end1“my-out-turtle”(目的地)是end2指导品种。

+0

谢谢,但我看到我仍然需要遍历所有海龟......优化成为数百个连接神经元的问题。不过,这可能是最好的方式。 – Jumboman 2014-11-05 14:38:12

+0

对不起。在定向品种end1上,来源end2是目的地。也许我们可以解决这个问题?但是,然后你正在遍历链接 – 2014-11-05 15:12:45

+0

omg谢谢!我完全忽略了字典中的内置变量部分。 end1和end2正是我所期待的!通过链接迭代更好,因为我可以将它放在一个已经存在的具有强大“with [...]”选择的循环中,所以不会增加太多的计算。 – Jumboman 2014-11-05 21:04:58