Линеаризация модели Simulink в рабочей точке модели

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

Для получения информации об линеаризации моделей в различных рабочих точках смотрите Linearize at Trimmed Operating Point и Linearize at Simulation Snapshot.

Линеаризация модели Simulink с помощью Model Linearizer

Этот пример показывает, как линеаризировать модель Simulink в рабочей точке, заданной в модели, используя Model Linearizer.

Откройте модель Simulink.

mdl = 'watertank';
open_system(mdl)

Блок Water-Tank System представляет объект в этой системе управления и включает все нелинейности системы.

Чтобы задать фрагмент модели для линеаризации, сначала откройте вкладку Линеаризация. Для этого в окне Simulink, в галерее Apps, нажмите Linearization Manager.

Чтобы задать точку анализа для сигнала, щелкните сигнал в модели. Затем на вкладке Linearization в галерее Insert Analysis Points выберите тип точки анализа.

  • Сконфигурируйте выходной сигнал блока PID Controller как Input Perturbation.

  • Сконфигурируйте выходной сигнал блока Water-Tank System как Open-loop Output. Выходная точка разомкнутого контура является измерением выхода, за которым следует открытие контура, которое удаляет эффекты сигнала обратной связи на линеаризации, не меняя рабочую точку модели.

Когда вы добавляете точки линейного анализа, программное обеспечение добавляет маркеры в их соответствующих местоположениях в модели. Для получения дополнительной информации о различных типах точек анализа смотрите Задать фрагмент модели для линеаризации.

Для получения дополнительной информации об определении точек анализа в модели Simulink, см. «Задайте фрагмент модели, чтобы линеаризировать в модели Simulink». Кроме того, если вы не хотите вводить изменения в модель Simulink, можно задать точки анализа с помощью Model Linearizer. Для получения дополнительной информации смотрите Фрагмент модели для линеаризации в Model Linearizer.

Чтобы открыть Model Linearizer для модели, в окне модели Simulink, в галерее Apps, нажмите Model Linearizer.

Чтобы использовать точки анализа, определенные в модели Simulink, в качестве операций линеаризации, на вкладке Linear Analysis, в выпадающем списке Analysis I/Os, оставьте Model I/Os выбран.

В данном примере используйте рабочую точку модели для линеаризации. В раскрывающемся списке Operating Point оставьте Model Initial Condition выбран.

Чтобы линеаризировать систему и сгенерировать график отклика для анализа, в разделе Linearize щелкните ответ. В данном примере, чтобы сгенерировать диаграмму Боде для полученной линейной модели, нажмите Bode.

Программное обеспечение добавляет линеаризированную модель, linsys1, в Linear Analysis Workspace и генерирует диаграмму Боде для модели. linsys1 - линейная модель от заданного входа до заданного выхода, вычисленная в рабочей точке модели по умолчанию.

Для получения дополнительной информации об анализе линейных моделей см. Раздел «Анализ результатов с помощью графиков отклика Model Linearizer».

Можно также экспортировать линеаризированную модель в MATLAB® рабочей области. Для этого в Data Browser перетащите мышью linsys1 от Linear Analysis Workspace до MATLAB Workspace.

Линеаризация модели Simulink в командной строке

В этом примере показано, как линеаризировать модель Simulink ® в рабочей точке модели с помощью linearize команда.

Откройте модель Simulink.

mdl = 'watertank';
open_system(mdl)

Для этой системы блок Water-Tank System содержит всю нелинейную динамику. Чтобы задать фрагмент модели для линеаризации, создайте массив объектов ввода-вывода линеаризации с помощью linio команда.

Создайте входную точку анализа возмущений на выходе блока ПИД-регулятор.

io(1) = linio('watertank/PID Controller',1,'input');

Создайте выходную точку анализа без разомкнутого контура на выходе блока Water-Tank System. Выходная точка разомкнутого контура является измерением выхода, за которым следует открытие контура, которое удаляет эффекты сигнала обратной связи на линеаризации, не меняя рабочую точку модели.

io(2) = linio('watertank/Water-Tank System',1,'openoutput');

Для получения информации о различных типах точек анализа смотрите Задать фрагмент модели для линеаризации.

Линеаризируйте модель в рабочей точке модели с помощью заданных точек анализа.

linsys1 = linearize(mdl,io);

linsys1 - линейная модель от заданного входа до заданного выхода, вычисленная в рабочей точке модели по умолчанию.

Затем можно проанализировать ответ линеаризированной модели. Для примера постройте график его отклика Bode.

bode(linsys1)

Для получения дополнительной информации об анализе линейных моделей см. «Линейный анализ».

См. также

|

Похожие темы