Этот пример показывает, как визуализировать характеристики линейной системы нелинейного Simulink® модель на нескольких снимках симуляции.
Откройте модель Simulink.
Для примера:
watertank
Откройте браузер библиотеки Simulink. В редакторе Simulink, на вкладке Simulation, нажмите Library Browser.
Добавьте блок графика в модель Simulink.
В библиотеке Simulink Control Design выберите Linear Analysis Plots.
Перетащите блок, такой как блок Gain and Phase Margin Plot, в окно модели Simulink.
Теперь модель напоминает следующий рисунок.
Дважды кликните блок, чтобы открыть диалоговое окно Параметров блоков.
Дополнительные сведения о параметрах блоков см. на страницах с описанием блоков.
Задайте точки ввода-вывода линеаризации.
Линейная система вычисляется для системы бака с водой.
Совет
Если ваша модель уже содержит точки ввода-вывода, блок автоматически обнаруживает эти точки и отображает их. Щелкните в любое время, чтобы обновить таблицу Linearization inputs/outputs с помощью операций ввода-вывода из модели.
Чтобы задать вход:
Щелкните рядом с таблицей Linearization inputs/outputs.
Диалоговое окно Параметров блоков развернется для отображения области Click a signal in the model to select it.
В модели Simulink щелкните выходной сигнал PID Controller
блок, чтобы выбрать его.
Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.
Совет
Можно выбрать несколько сигналов сразу в модели Simulink. Все выбранные сигналы появляются в области Click a signal in the model to select it.
Щелкните, чтобы добавить сигнал к таблице Linearization inputs/outputs.
Чтобы задать выход:
В модели Simulink щелкните выходной сигнал Water-Tank System
блок, чтобы выбрать его.
Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.
Щелкните, чтобы добавить сигнал к таблице Linearization inputs/outputs.
В раскрывающемся списке Configuration таблицы Linearization inputs/outputs выберите Open-loop Output
для watertank/Water-Tank System : 1.
Теперь Linearization inputs/outputs таблица напоминает следующий рисунок.
Щелкните, чтобы свернуть область Click a signal in the model to select it.
Совет
Кроме того, перед добавлением блока Linear Analysis Plots щелкните правой кнопкой мыши по сигналам в модели Simulink и выберите Linear Analysis Points > Input Perturbation и Linear Analysis Points > Open-loop Output. Аннотации ввода-вывода линеаризации появляются в модели, а выбранные сигналы появляются в таблице Linearization inputs/outputs.
Задайте время моментального снимка симуляции.
На вкладке Linearizations проверьте, что Simulation snapshots
выбран в Linearize on.
В поле Snapshot times введите [0 1 5]
.
Задайте тип графика, чтобы построить график усиления и запасов по фазе. Тип графика Bode
по умолчанию.
Выберите Nichols
в Plot type
Щелкните Show Plot, чтобы открыть пустой график Николса.
Сохраните линейную систему.
Выберите вкладку Logging.
Выберите опцию Save data to workspace и укажите имя переменной в поле Variable name.
Вкладка Logging теперь напоминает следующий рисунок.
Постройте график усиления и запасов по фазе нажатием в окне графика.
Программа линеаризирует фрагмент модели между входом линеаризации и выходом в времена симуляции 0, 1 и 5 и графики усиления и запасов по фазе.
После завершения симуляции окно plot напоминает следующий рисунок.
Совет
Щелкните, чтобы просмотреть легенду.
Вычисленная линейная система сохранена как sys
в MATLAB® рабочей области. sys
- структура с time
и values
поля. Чтобы просмотреть структуру, введите:
sys
Эта команда возвращает следующие результаты:
sys = time: [3x1 double] values: [4-D ss] blockName: 'watertank/Gain and Phase Margin Plot'
The time
поле содержит времена симуляции, в которое модель линеаризируется.
The values
поле является массивом объектов пространства состояний, которые хранят линейные системы, вычисленные в заданные времена симуляции.
(Если модель Simulink сконфигурирована, чтобы сохранить выход симуляции как один объект, структуру данных sys
является полем в Simulink.SimulationOutput
объект, который содержит записанные в журнал данные моделирования. Для получения дополнительной информации о регистрации данных в Simulink, смотрите Экспорт данных моделирования и Simulink.SimulationOutput
страница с описанием.)