В этом примере показано, как линеаризовать Модель Simulink, чтобы получить разреженный объект модели второго порядка (mechss
). Модель Simulink sparseSOSimulinkModel.slx
содержит смоделированное использование объекта блока Sparse Second Order, соединенного в обратной связи с ПИД-регулятором и приводом и датчиком. Датчик и привод моделируются с помощью передаточных функций. Вам нужна лицензия Simulink Control Design, чтобы выполнить линеаризацию.
Для получения дополнительной информации о разреженных моделях смотрите Разреженные Основы Модели.
Загрузите данные модели, содержавшиеся в linData.mat
и откройте модель Simulink.
load('linData.mat') mdl = 'sparseSOSimulinkModel'; open_system(mdl);
Затем создайте настройки I/O линеаризации с помощью 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
объект модели с 3 415 узлами, 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)