У меня есть агентное моделирование эпидемии, в котором я использую стандартную модель SEIR. Я определяю параметры заражения в основном классе. Теперь я хочу иметь возможность изменять некоторые агенты во время выполнения модели.
Например: я определил «скорость контакта» как параметр в «основном» классе. Теперь я хочу иметь возможность сказать, что после того, как агент попадает в больницу, частота его контактов становится равной нулю. Я попытался написать функцию в классе «агент», которая говорила:
if (hospitalise == true) {
main.ContactsPerDay = 0.0;
}
Но это просто устанавливает общую частоту контактов на 0, как только происходит первая госпитализация, что, очевидно, неверно.
Как я мог написать функцию внутри агентов, которая изменяла бы частоту контактов только для определенных агентов?