dlinmod
在工作点附近提取离散时间线性状态空间模型
语法
说明
通过逐个线性化模型中的每个模块,计算模型 [A,B,C,D]
= dlinmod(mdl
,Ts
)mdl
中表示的离散时间系统的采样时间为 Ts
的线性状态空间模型。模型中的 Inport 和 Outport 模块表示系统输入和输出。您可以使用 dlinmod
函数来线性化离散系统、多速率系统以及同时包含离散和连续动态特性的混合系统。
逐模块解析算法对大多数模块使用预编程的解析模块雅可比矩阵。与扰动算法相比,这种方式生成的线性化通常更准确。Simulink® Control Design™ 文档包含具有预编程解析雅可比矩阵的模块列表,还按模块讨论了用来进行线性化的分析算法。
逐模块解析算法还允许对有问题的模块(例如 Transport Delay 模块和 Quantizer 模块)进行特殊处理。
注意
linmod
函数仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink Control Design 软件。有关详细信息,请参阅选择线性化工具 (Simulink Control Design)。
以传递函数形式返回离散线性模型。[n,d]
= dlinmod(___)
返回一个结构体,其中包含离散线性模型、状态名称、输入和输出名称以及有关工作点的信息。sys
= dlinmod(___)
输入参数
输出参量
限制
linmod
函数仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink Control Design 软件。有关详细信息,请参阅选择线性化工具 (Simulink Control Design)。在线性化模型引用层次结构时,将顶层模型和引用模型配置为在普通模式下进行仿真。对在加速模式下进行仿真的多速率引用模型进行线性化时存在多种限制。
当您对包含配置为在加速模式下进行仿真的引用模型的模型引用层次结构进行线性化时,软件会使用默认算法对顶层模型进行线性化,并使用数值扰动算法对引用模型进行线性化。
包含一个或多个配置为使用局部求解器的引用模型的模型不支持线性化。有关详细信息,请参阅Use Local Solvers in Referenced Models。
提示
您可以使用
dlinmod
函数将系统转换为不同的采样时间,包括将离散系统转换为连续系统,反之亦然。要查找离散或连续系统的频率响应,请使用
bode
函数。默认情况下,系统时间为零。对于依赖时间的系统,您可以使用
opts
输入参量的第二个元素来指定系统时间。在线性化中保留状态顺序,以使线性化模型中的状态顺序与非线性模型中的状态顺序匹配。通过将模型名称用作执行 sizes 阶段的编程接口,您可以获得有关模型中的状态以及与状态相关联的模块的信息。名为
blks
的返回参量是一个向量,它包含与状态相关联的每个模块的名称。有关详细信息,请参阅Use Model Name as Programmatic Interface。[sys,x0,blks,st] = modelName([],[],[],'sizes');
您可以使用以下函数将线性化单输入多输出系统的状态空间线性化表示转换为另一种形式:
您可以使用
ss
(Control System Toolbox) 函数从线性化模型创建状态空间模型对象。您可以使用状态空间模型对象来表示用于控制设计的线性时不变 (LTI) 系统。您还可以组合多个 LTI 状态空间模型来表示更复杂的系统。在创建状态空间模型对象后,您可以使用
tf
(Control System Toolbox) 函数转换为传递函数形式,或使用zpk
(Control System Toolbox) 函数转换为零极点增益形式。在对包含 Transport Delay 或 Derivative 模块的模型进行线性化时,推荐使用默认的逐模块算法。逐模块算法将 Transport Delay 和 Derivative 模块替换为帕德逼近。使用
v5
扰动算法来对包含 Transport Delay 或 Derivative 模块的模型进行线性化可能比较麻烦。有关详细信息,请参阅 线性化模型。在使用
v5
扰动算法对包含 Transport Delay 或 Derivative 模块的模型进行线性化之前,请将 Transport Delay 和 Derivative 模块替换为 Simulink Extras 库内 Linearization 库中可用的专用模块。
版本历史记录
在 R2007a 中推出