Установите тикер на ноль в netlogo

У меня была проблема с тикером в netlogo. Я хочу сбросить тикер на ноль. А вот при сбросе тикера командой "reset-tickers" все переменные, графики и... тоже обнуляются, а мне это неприятно. Я хочу просто сбросить тикер и установить его на ноль без сброса других переменных и .... Как я могу это сделать?

Спасибо


person ali naghavi    schedule 11.02.2014    source источник


Ответы (1)


Примитив reset-ticks действительно настраивает и обновляет все графики. . Однако он не сбрасывает все переменные (clear-all делает это ).

В любом случае вы должны видеть тики, представляющие время в вашей модели. И время не может течь вспять. Сброс тиков всегда будет эквивалентен «началу заново» с новым прогоном вашей модели.

Если вам нужен какой-то счетчик, который вы можете сбросить до нуля, не затрагивая ничего другого, сложно, его легко сделать самостоятельно.

Во-первых, объявите глобальную переменную:

globals [ my-counter ]

Где-то в вашей процедуре setup установите для этой переменной значение 0:

set my-counter 0

Где-то в вашей процедуре go увеличьте ее:

set my-counter my-counter + 1

И всякий раз, когда вы хотите «сбросить» свой счетчик, просто снова установите его на 0, как вы сделали при настройке:

set my-counter 0
person Nicolas Payette    schedule 11.02.2014
comment
Кроме того, вы можете использовать plotxy для построения точек, которые не удаляются reset-ticks, но я поддерживаю стратегию использования отдельного глобального. - person Bryan Head; 12.02.2014
comment
reset-ticks не очищает графики и не удаляет точки. (Я не уверен, есть ли здесь у кого-то неправильное понимание, или это просто случай нечеткой формулировки.) Он запускает команды настройки графика, за которыми следуют его команды запуска, но это было бы очень необычно (хотя, безусловно, возможно) для эти команды должны содержать все, что очищает, сбрасывает или удаляет. - person Seth Tisue; 13.02.2014