Расстояние от начала (начального участка) до центра скопления черепах в радиусе в Нетлого
Я определил максимальное количество черепах в кластерах черепах, рассеянных по всему миру в Нетлого, так что наибольшее количество черепах (в пределах указанного радиуса), полученное для всех черепах, является результатом (назначенным переменной).
let corr-peak-density max [count neighbors in-radius 50] of turtles
Однако сейчас я пытаюсь проложить расстояние от источника (начального патча) мира до этого крупнейшего скопления черепах или соседей и терпеть неудачу в этом. В идеале, если бы я мог написать код, чтобы найти расстояние от источника мира до черепахи или участка в центре кластера черепах максимального размера, полученного с помощью функции радиуса, это было бы лучше всего. Но мои честные попытки провалились. Пожалуйста, помогите со следующей строкой кода (или каким-либо другим предпочтительным способом) для достижения этой цели.
let corr-peak-density-distance [distance start-patch] of patch[corr-peak-density]
Я не уверен, где я ошибаюсь в следующей строке кода выше.
1 ответ
Прежде всего, код count neighbors in-radius 50
это неверно. neighbors
сообщит о 8 участках, окружающих черепаху. Так как все 8 из этих патчей находятся в пределах 50 от черепахи, этот код будет всегда сообщать 8. Вместо этого вы хотите count turtles in-radius 50
, Стоит отметить, что этот код, скорее всего, будет довольно медленным. Вы можете попробовать count turtles with [ distance myself < 50 ]
вместо. Это делает по существу то же самое, но должно быть быстрее при использовании такого большого радиуса.
Далее, вместо того, чтобы вычислять только пиковую плотность, давайте возьмем черепаху в центре этого кластера:
let peak-density-turtle max-one-of turtles [ count turtles with [ distance myself < 50 ] ]
let corr-peak-density [ count turtles with [ distance myself < 50 ] ] of peak-density-turtle
Затем получить расстояние от этой черепахи до стартового патча очень просто:
let corr-peak-density-distance [ distance start-patch ] of peak-density-turtle