exponenta event banner

Моделирование модели

SimBiology позволяет моделировать динамическое поведение модели. До и во время моделирования SimBiology выполняет ряд шагов, включая преобразование реакций модели и правил скорости в набор обычных дифференциальных уравнений (ОДУ), которые математически описывают динамику модели.

В частности, перед началом моделирования SimBiology:

  1. Проверка модели. Дополнительные сведения см. в разделе Проверка модели.

  2. Определяет начальные условия, то есть значения количества в начале моделирования. В частности, SimBiology сначала инициализирует количественные значения на основе значений, указанных в модели. Во-вторых, значения обновляются путем их замены соответствующими альтернативными значениями из вариантов, если таковые имеются. Затем значения обновляются на основе начальных и повторных назначений. SimBiology оценивает начальные и повторные назначения как набор одновременных ограничений, и их порядок не влияет на конечные значения количества. Дополнительные сведения см. в разделе Порядок правил оценки.

  3. Конструирует ОДУ на основе реакций модели и правил скорости. В частности, левая сторона (LHS) каждого ОДУ представляет производную по времени от величины модели. Правая сторона (RHS) определяется с использованием потоков реакции, которые получаются из скоростей реакции. Для получения дополнительной информации см. Деривация ОДУ из реакций.

  4. Преобразует дозы в переходы состояний, которые происходят в определенное время моделирования.

  5. Преобразует функции события в переходы состояний, зависящие от условий, указанных в триггерах событий.

Когда начинается моделирование, то есть в момент времени моделирования = 0, SimBiology:

  1. Обновляет значения на основе начальных и повторных назначений.

  2. Применяет любые переходы состояний из-за дозирования, указанного во время моделирования = 0.

  3. Регистрирует обновленные значения количества.

Примечание

События не могут вызывать переходы в момент времени = 0, поскольку события применяются только тогда, когда триггер изменяется с false на true. Если триггер имеет значение true во время моделирования = 0, то переход не происходит, и событие не инициируется.

Во время моделирования SimBiology использует решатель для вычисления решений для ОДУ в разное время. В частности, решатель определяет соответствующие временные этапы и выполняет следующее на каждом этапе.

  1. Обновляет значения для любых повторных назначений.

  2. Проверяет состояние триггера каждого события. Если на данном шаге времени он переключается с false на true, то он применяет переходы состояний в соответствии с функциями события и обновляет значения для любых повторных назначений.

  3. Регистрирует обновленные значения количества.

Чтобы увидеть систему ОДУ модели, используйте getequations в командной строке или следуйте инструкциям в разделе Показать уравнения модели и начальные условия для приложения SimBiology Model Builder.

Примечание

Если модель имеет алгебраические уравнения, необходимо указать один из следующих решателей дифференциально-алгебраических уравнений (DAE): солнечные часы, ode15s, ode23t. SimBiology преобразует алгебраические уравнения в алгебраические ограничения и решает их вместе с остальными ОДУ. Дополнительные сведения о доступных решателях см. в разделе Выбор вычислителя моделирования.

См. также

Связанные примеры

Подробнее