Установить значение переменной на основе расстояния до патчей с определенным значением в Netlogo - PullRequest
0 голосов
/ 27 июня 2018

В моей модели я хочу придать участкам с расстоянием менее 10 для дорог более низкую привлекательность

Я хочу, чтобы участки с землепользованием 1 уже имели привлекательность, например, 1,7, чтобы получить более низкую привлекательность, если они находятся близко к дороге (землепользование 5). Я думаю, что эта часть кода должна работать, однако, часть «патчи с [Land-use = 5]» не распознается сетевым логотипом. Кто-нибудь может помочь?

  Ask patches with [ Land-use = 1 ][
if (distance patches with [ Land-use = 5 ]  ) < 10 [
  set Attractiveness (Attractiveness + -0.5 )]]

1 Ответ

0 голосов
/ 27 июня 2018

Хотелось бы что-то вроде следующей работы для вас, где я использую in-radius?

patches-own [Land-use Attractiveness]
to setup
  clear-all
  ask patches [set Land-use random 6]
  ask patches with[land-use = 1] [set pcolor red]

Ask patches with [ Land-use = 1 ][
if any? patches in-radius 10 with [ Land-use  = 5 ]   [
  set Attractiveness (Attractiveness + -0.5 )]]

reset-ticks
end 

Тогда для вашего дополнительного требования, которое вы упоминаете в своем комментарии, все, что вам нужно сделать, это изменить утверждение с [Land-use = 5] на [ Land-use = 4 or Land-use = 5 or Land-use = 6]

...