Netlogo 寻找最近的代理
例如,如果我有两个品种的狐狸和兔子,我想找到最近的代理。如何为每只狐狸找到最近的兔子。我想出了下面的代码,它在一个列表中存储了从每只狐狸到特定半径内兔子子集的距离 我想知道是否有更好和/或更简单的方法来实现这个netlogoNetlogo 寻找最近的代理,netlogo,Netlogo,例如,如果我有两个品种的狐狸和兔子,我想找到最近的代理。如何为每只狐狸找到最近的兔子。我想出了下面的代码,它在一个列表中存储了从每只狐狸到特定半径内兔子子集的距离 我想知道是否有更好和/或更简单的方法来实现这个netlogo breed [rabbits rabbit] breed [foxes fox] foxes-own [closest-rabbit] to setup clear-all create-rabbits 10 create-foxes 2 ask
breed [rabbits rabbit]
breed [foxes fox]
foxes-own [closest-rabbit]
to setup
clear-all
create-rabbits 10
create-foxes 2
ask rabbits[
setxy random-xcor random-ycor
set color white
]
ask foxes[
setxy random-xcor random-ycor
set color orange
]
end
to go
ask foxes[
let rabbits-in-range rabbits in-radius 10
let dist-list []
let rabbit-list []
ask rabbits-in-range[
set dist-list lput distance myself dist-list
set rabbit-list lput self rabbit-list
let min-dist-idx position (min dist-list) dist-list
set closest-rabbit item min-dist-idx rabbit-list
]
]
end
你试过这样的东西吗
询问海龟[向min展示另一只海龟[与自己保持距离]
breed [rabbits rabbit]
breed [foxes fox]
foxes-own [closest-rabbit]
to setup
clear-all
create-rabbits 10
create-foxes 2
ask rabbits[
setxy random-xcor random-ycor
set color white
]
ask foxes[
setxy random-xcor random-ycor
set color orange
]
end
to go
ask foxes[
show min-one-of rabbits [distance myself]
set closest-rabbit min-one-of rabbits [distance myself]
face closest-rabbit
]
end
以更一般的形式
ask
你试过这样的东西吗
询问海龟[向min展示另一只海龟[与自己保持距离]
breed [rabbits rabbit]
breed [foxes fox]
foxes-own [closest-rabbit]
to setup
clear-all
create-rabbits 10
create-foxes 2
ask rabbits[
setxy random-xcor random-ycor
set color white
]
ask foxes[
setxy random-xcor random-ycor
set color orange
]
end
to go
ask foxes[
show min-one-of rabbits [distance myself]
set closest-rabbit min-one-of rabbits [distance myself]
face closest-rabbit
]
end
以更一般的形式
ask