В этом примере показано, как использовать, линеаризуют модель Simulink® на определенных событиях вовремя. События линеаризации могут быть основанными на триггере событиями или событиями вызова функции. А именно, модель линеаризуется в установившихся рабочих точках 2500, 3000, и 3 500 об/мин.
Открытая модель Simulink.
mdl = 'scdspeedtrigger';
open_system(mdl)
Чтобы помочь идентифицировать, когда система в устойчивом состоянии, блок Generate settling time events генерирует обосновывающиеся события. Этот блок отправляет возрастающие триггерные сигналы ребра в блок Operating Point Snapshot, когда скорость вращения двигателя улаживает близкие 2500, 3000, и 3 500 об/мин для минимума пяти секунд.
Модель включает блок Trigger-Based Operating Point Snapshot. Этот блок линеаризует модель, когда это получает возрастающие триггерные сигналы ребра от блока Generate settling time events.
Вычислите установившуюся рабочую точку в 60
единицы измерения времени.
op = findop(mdl,60);
Эта функция симулирует модель для 60
единицы измерения времени и извлечения рабочие точки в каждом событии симуляции, которое происходит в это время интервал.
Задайте фрагмент модели, чтобы линеаризовать.
io(1) = linio('scdspeedtrigger/Reference Steps',1,'input'); io(2) = linio('scdspeedtrigger/rad//s to rpm',1,'output');
Линеаризуйте модель.
linsys = linearize(mdl,op(1:3),io);
Сравните линеаризовавшие модели в 2 500, 3000, и 3 500 об/мин с помощью Диаграмм Боде передаточных функций с обратной связью.
bode(linsys)