Matlab/Simulink: сбой linmod для подсистемы

Учитывая простую модель Simulink Model с одним входом, одним выходом и функцией передачи между ними, я могу использовать linmod('Model') получить линейную модель пространства состояний. Однако, когда я помещаю ту же модель в подсистему под названием Subsystem под Model и я выпускаю linmod('Model/Subsystem') Я получаю следующую ошибку:

Error using dlinmod (line 147)
Subsystem block does not have a parameter named 'SimulationStatus'
Error in linmod (line 59)
[varargout{1:max(1,nargout)}] = dlinmod(model, Ts, varargin{:}, Args);

Я использую Matlab/Simulink R2014a. Как это можно исправить?

1 ответ

Решение

linmod работает только для моделей Simulink, а не для подсистем. Точки ввода и вывода для линеаризации - это точки, соответствующие блокам Inports и Outports на верхнем уровне модели.

Если у вас есть Simulink Control Design, вы должны использовать linearize, который является гораздо более гибким и мощным (или эквивалентным инструментом линейного анализа).

Другие вопросы по тегам