Сброс решателя

Solver Profiler журналов события, которые заставляют решатель сбросить свои параметры, потому что сбросы решателя несут вычислительные затраты. В дополнение к общему количеству сбросов можно также увидеть разбивку по типам событий сброса.

Примечание

Событие сброса решателя может иметь несколько причин. В результате количество Total solver reset событий на панели Statistics может быть меньше, чем сумма сбросов решателя каждого типа.

Пересечение нулем

Некоторые события пересечения нуля происходят с разрывами в сигнале. Рассмотрим пример модели прыгающего мяча из раздела События пересечения нулем.

Система Solver Profiler записей 67 решатель сбрасывает, вызванный пересечениями нуля из блока Switch в модели. Сравните размер шага и Solver Reset подсветку с выходным x блока Second-Order Integrator, который является высотой мяча от земли. Заметьте, что сброс решателя происходит, когда мяч отскакивает от земли.

Дискретный сигнал

Сбросы решателя также происходят, когда ваша модель имеет дискретный сигнал, приводящий в действие блок с непрерывными состояниями, как видно в этой модели примера.

Дискретный Sine Wave блок выводит синусоиду 1 рад/с с дискретного шага расчета ts = 2.

Отчет Solver Profiler показывает, что четыре сброса решателя происходят из-за дискретных сигналов, управляющих непрерывным блоком. Эти сбросы происходят при каждом выполнении блока Sine Wave.

Сигнал ZOH

Этот тип сброса решателя происходит, когда выход блока не выполняется во время пробного или незначительного временного шага и обновляется только во время интегрирования или основного временного шага. В результате выход блока прерывисто изменяется с одного основного временного шага на другой. В результате решатель сбрасывается. См. Шаг расчета Мелкий шаг.

Эта модель примера показывает простой объект и контроллер, который отслеживает синусоидальный опорный сигнал. Источником этого сигнала является блок Sine Wave, шаг расчета которого задан как фиксированный мелкий шаг.

По результатам сеанса профилирования наблюдайте, что существуют 80 ZOH Signal решатель сбрасывается в симуляции.

Примечание

Когда вы выбираете Continuous States для логгирования или активируете SaveStates параметром является производная непрерывного блока, управляемая сигналом Fixed-in-Minor-Step NaN.

Это связано с тем, что ведущий блок Fixed-in-Minor-Step обновляет свое значение только на каждом главном временном шаге. Поэтому сигнал, возбуждаемый в непрерывный блок, является прерывистым, и состояние не дифференцируемо.

График показывает выходы блоков Sine Wave и Integrator в модели примера.

Совет

Сбросы решателя, вызванные сигналами ZOH, серьезны по сравнению с событиями сброса решателя, вызванными дискретными сигналами, и могут значительно замедлить симуляцию. Это связано с тем, что события сброса сигнала ZOH происходят на каждом главном шаге решателя. Измените настройку симуляции, чтобы избежать этих сбросов, при необходимости.

Блочный сигнал

Иногда блок может быть сконфигурирован, чтобы сбросить решатель, когда определенные обстоятельства удовлетворяются во время его выполнения. Рассмотрим sldemo_bounceмодель прыгающего мяча, которая может быть найдена в примере Захвата Скорости Прыгающего Мяча с Блоком Памяти.

По результатам профилирования наблюдайте, что существуют 130 сброс решателя, инициируемый блоком. Событие сброса решателя может иметь несколько причин. В этом случае пересечения нуля и изменения блоков вызывают событие сброса решателя.

Одна из настроек, которая вызывает событие сброса решателя Block Change, является параметром Reinitialize dx/dt when x reaches saturation. Эта настройка необходима, чтобы правильно симулировать динамику прыгающего мяча.

Начальный сброс

Когда вы запускаете симуляцию, решателю нужно впервые сбросить свои параметры. Это событие отображается как Initial Reset событие в отчете Solver Profiler. Это происходит один раз в начале симуляции.

Внутренний

Существуют некоторые события сброса, которые являются внутренними для Simulink® двигатель. Эти события сброса необходимы для того, чтобы механизм правильно сконфигурировался для точной симуляции.