Подсчитать количество черепах за время Netlogo

Здравствуйте, я пытаюсь написать код, в котором я могу знать разницу в составе черепах каждый раз, когда проходит новый тик. Ясно, что мне нужно подсчитать черепах, скажем, синего цвета, в популяции черепах с разными цветами в первый раз или отметьте 1, а затем посчитайте снова в следующий раз или отметьте 2 и вычислите разницу черепах с синим цветом между шаг по времени и нужно использовать это значение для других целей, так какой примитив я могу использовать?

    let current-population-count map [count turtles with [color = ?]] colors 
    let new-population-count (map[?1 * (savage ?2)] current-population-count colors)
    set new-population-count map [num-turtles * ? / sum new-population-count] new-population-count

Попробуйте использовать этот код, но он не подходит для моих целей. Какие-либо предложения?


person Paul    schedule 19.02.2015    source источник


Ответы (1)


Если вам нужен только один временной шаг, то проще всего сохранить его в глобальной переменной. Если вам нужно вести полную историю по всем временным шагам, вам нужно будет использовать список. Это код с одним временным шагом и только одного цвета (не тестировался).

globals [lastblue]

to go
  ...
  let thisblue count turtles with [color = blue]
  if ticks > 1 [do whatever you want with thisblue and lastblue]
  set lastblue thisblue
  tick
end
person JenB    schedule 20.02.2015