Matlab/Simulink: 子系统的 linmod 失败

Matlab/Simulink: linmod fails for subsystem

给定一个简单的 Simulink 模型 Model,它具有单个输入、单个输出和其间的传递函数,我可以使用 linmod('Model') 获得线性状态 space 模型。但是,当我将同一模型放入 Model 下名为 Subsystem 的子系统中并发出 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。如何解决?

linmod 仅适用于 Simulink 模型,不适用于子系统。线性化的输入和输出点对应于模型顶层的 Inports 和 Outports 块。

如果你有 Simulink Control Design, you should use linearize, which is much more flexible and powerful (or the equivalent linear analysis tool).