Во время обновления модели, для примера в начале симуляции, Simulink® использует процесс, называемый распространением шага расчета, чтобы определить шаги расчета блоков, которые наследуют их шаги расчета. Рисунок ниже иллюстрирует блок Дискретного Фильтра с периодом шага расчета
управление блоком Gain.Ts
Поскольку выход Gain блока является входом, умноженным на константу, его выход изменяется с той же скоростью, что и фильтр. Другими словами, блок Gain имеет эффективную частоту дискретизации, равную скорости дискретизации фильтра. Установление таких эффективных скоростей является фундаментальным механизмом распространения шага расчета в Simulink.
Simulink использует следующий базовый процесс, чтобы назначить шаги расчета блокам, которые наследуют их шаги расчета:
Распространите известную информацию о шаге расчета вперед.
Распространите известную информацию о шаге расчета назад.
Примените набор эвристики, чтобы определить дополнительные шаги расчета.
Повторяйте, пока не станут известны все шаги расчета.
Блок, имеющий основанное на блоках шаг расчета, наследует шаг расчета на основе шагов расчета блоков, связанных с его входами, и в соответствии со следующими правилами:
Правило | Действие |
---|---|
Все входы имеют один и тот же шаг расчета, и блок может принять этот шаг расчета | Simulink присваивает шаг расчета блоку |
Входы имеют различные дискретные шаги расчета, и все входные шаги расчета являются целочисленными множителями самого быстрого входного шага расчета | Simulink присваивает блоку шаг расчета самого быстрого входа. (Это назначение предполагает, что блок может принять самый быстрый шаг расчета.) |
Входы имеют различные дискретные шаги расчета, некоторые из входных шагов расчета не являются целочисленными кратными самому быстрому шагу расчета, и модель использует решатель переменного шага | Simulink присваивает блоку шаг расчета с мелким шагом. |
Входы имеют различные дискретные шаги расчета, некоторые из входных шагов расчета не являются целочисленными кратными самому быстрому шагу расчета, модель использует решатель с фиксированным шагом, и Simulink может вычислить наибольший общий целочисленный делитель (GCD) времени расчета, поступающего в блок | Simulink присваивает блоку шаг расчета GCD. В противном случае Simulink присваивает блоку фиксированный размер шага модели. |
Шаги расчета некоторых из входов неизвестны, или если блок не может принять шага расчета | Simulink определяет шаг расчета для блока на основе набора эвристических данных. |
Блоки, для которых Шаг расчета не рекомендуется