В этом примере показано, как линеаризировать Модель Simulink, чтобы получить разреженный объект модели второго порядка (mechss
). Модель Simulink sparseSOSimulinkModel.slx
содержит объект, смоделированный с использованием блока Sparse Second Order, соединенного в цикле обратной связи с ПИД-регулятором и приводом и датчиком. Датчик и привод моделируются с помощью передаточных функций. Вам нужна лицензия Simulink Control Design для выполнения линеаризации.
Для получения дополнительной информации о разреженных моделях см. «Разреженные основы модели».
Загрузите данные модели, содержащиеся в linData.mat
и откройте модель Simulink.
load('linData.mat') mdl = 'sparseSOSimulinkModel'; open_system(mdl);
Затем создайте настройки ввода-вывода линеаризации с помощью linio
(Simulink Control Design) и линеаризацию модели Simulink.
sys_io(1) = linio('sparseSOSimulinkModel/Controller',1,'input'); sys_io(2) = linio('sparseSOSimulinkModel/Actuator',1,'output'); sys = linearize(mdl,sys_io)
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 3415 nodes. Use "spy" and "showStateInfo" to inspect model structure. Type "properties('mechss')" for a list of model properties. Type "help mechssOptions" for available solver options for this model.
Получившаяся линеаризированная модель sys
является mechss
объект модели с 3415 узлами, 1 входом и 1 выходом.
Можно использовать spy
чтобы визуализировать разреженность разреженной модели. Щелкните правой кнопкой мыши график, чтобы переключиться, чтобы выбрать матрицы для отображения.
spy(sys)
Использование showStateInfo
чтобы просмотреть информацию о разбиении разреженной модели второго порядка sys
.
showStateInfo(sys)
The state groups are: Type Name Size ------------------------------------------------ Component 5 Component sparseSOSimulinkModel/Plant 3408 Signal 2
Исследуйте переходную характеристику разреженной модели второго порядка. Вы должны задать окончательное время или временной вектор для разреженных моделей.
t = 0:0.01:20; step(sys,t)
mechss
| showStateInfo
| Sparse Second Order | spy
(mechss)
| xsort
| linearize
(Simulink Control Design) | linio
(Simulink Control Design)