Netlogo一对一关系
我有一个netlogo问题,我似乎找不到解决方案,但它感觉非常基本。 我有两种品种:Netlogo一对一关系,netlogo,Netlogo,我有一个netlogo问题,我似乎找不到解决方案,但它感觉非常基本。 我有两种品种: breed [individuals individual] breed [cars car] 我想创建一个从一个人到一辆车的链接。所以,这是一种一对一的关系。我使用此代码来执行此操作: to setup-individuals create-individuals individuals-number [ set ID 2 set shape "person" set color
breed [individuals individual]
breed [cars car]
我想创建一个从一个人到一辆车的链接。所以,这是一种一对一的关系。我使用此代码来执行此操作:
to setup-individuals
create-individuals individuals-number [
set ID 2
set shape "person"
set color yellow
setxy random-xcor random-ycor
set activity ""
set activity_time 0
let rand random 2
ifelse rand = 0
[
set owns-car false
]
[
set owns-car true
create-link-to one-of cars ;; here is the issue
]
]
end
问题是,如果我使用“
创建一辆车的链接”
,有多个个人链接到一辆车,但我希望每个人都有一辆不同的车。尝试以下命令时:“创建链接到[my in links=0]的一辆车的链接”
“它给了我以下错误:“创建链接到预期的输入是一只乌龟,但没有得到任何人。”我尝试了此命令的许多变体,但它不起作用。您尝试的创建链接到具有[my in links=0]的一辆车的解决方案[my in links=0]
位于正确的路径上。但是,如果您查看NetLogo字典,您将看到my in links
返回一个代理集,而不是给出该代理集成员数的整数。因此,您需要比较为空,而不是比较数字0
这是语法上最接近您拥有的代码:
使用[count my in links=0]创建一辆车的链接。
不过,您真正想要的是类似于
创建链接到具有[没有任何?我的in链接]的一辆车的链接]
创建链接到具有[没有任何?我的in链接]的一辆车的链接我在links=nobody中的work-thnx matemy-in-links=nobody
不起作用-nobody
不等于一个空的代理集。not any?…
解决方案也是我所建议的。