, Извините, я не сделал правильный синтаксис в своем исходном комментарии.

риведенный ниже код, предназначенный для определения количества групп оседлых черепах (красные и серые черепахи) из числа случайно распределенных неразрешенных черепах (черных), а также максимального, минимального и среднего размера скоплений (радиальная протяженность) в Нетлог мир / интерфейс.

globals[ cluster-size cluster-count cluster-size-growth cluster-count-growth ]

to setup
  clear-all
  ask patches [ set pcolor white ]
  create-turtles 1000 [
    set color black
    set label-color blue
    setxy random-xcor random-ycor
    set cluster-size 1
  ]
  ask n-of 5 turtles [
    ask turtles in-radius one-of [1 2 3] [
      set color one-of [red grey]
    ]
  ]
end

to cluster-collect
  let base-settlers turtles with [ color = red ]
  let consp-settlers turtles with [ color = grey ]
  ask base-settlers [
    set cluster-count count consp-settlers in-radius cluster-size
    set cluster-size-growth cluster-size + 1
    set cluster-count-growth count consp-settlers in-radius cluster-size-growth
    if cluster-count >= 1 [
      ifelse ( cluster-count-growth - cluster-count != 0 ) [
        set cluster-size cluster-size + 1
      ][
        print count base-settlers with [ count turtles with [ color = grey ] >=  1 ]
      ]
    ]
  ]
  print [ max cluster-size-growth ] of base-settlers
  print [ max cluster-count-growth ] of base-settlers
  print [ mean cluster-size-growth ] of base-settlers
  print [ mean cluster-count-growth ] of base-settlers
  print [ min cluster-size-growth ] of base-settlers
  print [ min cluster-count-growth ] of base-settlers
  print [ standard-deviation cluster-size-growth ] of base-settlers
  print [ standard-deviation cluster-count-growth ] of base-settlers
  print [ variance cluster-size-growth ] of base-settlers
  print [ variance cluster-count-growth ] of base-settlers
end

Я получаю следующую ошибку:MAX expected input to be a list but got the number 10 instead. Могу поспорить, что он будет делать то же самое для средних и минимальных функций, а также потому, что он не распознает базовых поселенцев как набор агентов. Любые мысли о том, как преобразовать этот код, чтобы получить максимальный, минимальный и средний размер кластера (радиальная протяженность) и количество установленных (красный и серый) черепах?

Ответы на вопрос(1)

Решение Вопроса

NetLogo выделяет строку, которая генерирует ошибку. Проблемная линияprint max cluster-size-growth, Если вы посмотрите раньше, у вас естьlet cluster-size-growth cluster-size + 1 а такжеlet cluster-size 1 перед этим. Такcluster-size-growth 1 + 1 или число 2. Переменнаяcluster-count-growth это также число.

Я думаю (но не уверен), что вы пытаетесь вычислить эти две переменные для каждой черепахи, а затем взять максимальное / среднее / мин для черепах того же типа. Если это так, вам нужно сначала создать переменную для всех черепах (то есть завершитьask [] заявление), а затем сделать что-то вродеprint max cluster-size-growth of base-settlers, Вам также может понадобиться установитьturtle-own переменные для них как значения локальных переменных будут потеряны в концеask [] блок.

 JenB03 окт. 2017 г., 22:24
Это потому, что у вас естьmax внутри []. Пытатьсяprint max [ cluster-size-growth ] of base-settlers, Извините, я не сделал правильный синтаксис в своем исходном комментарии.
 nigus2103 окт. 2017 г., 20:42
Я сделал кластерные переменные глобальными, но, похоже, у netlogo все еще есть проблема сprint max cluster-size-growth of base-settlers даже внеask [ ] команда. Я получаю ошибкуMAX expected input to be a list but got the number 11 instead.

Ваш ответ на вопрос