线性化模型
Simulink® 产品提供
、linmod
linmod2
和 dlinmod
函数来从 Simulink 模型中提取线性状态空间模型。然而,这些函数仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink Control Design™ 软件。有关详细信息,请参阅Choose Linearization Tools (Simulink Control Design)。
linmod
、linmod2
和 dlinmod
函数采用状态空间矩阵 A、B、C 和 D 的形式提取线性模型。状态空间矩阵将线性输入-输出关系描述为
其中 x、u 和 y 分别为状态、输入和输出向量。例如,以下模型称为 lmod
。
要提取此系统的线性模型,请输入以下命令:
[A,B,C,D] = linmod('lmod') A = -2 -1 -1 1 0 0 0 1 -1 B = 1 0 0 C = 0 1 0 0 0 -1 D = 0 1
输入和输出必须使用 Ports & Subsystems 库中的 Inport 和 Outport 模块来定义。信源模块和信宿模块不用作输入和输出。可以通过使用 Sum 模块将 Inport 模块与信源模块结合使用。当数据为状态空间形式或转换为 LTI 对象后,您可以应用 Control System Toolbox™ 产品中的函数进一步分析:
转换为 LTI 对象
sys = ss(A,B,C,D);
波特相位和幅值频率图
bode(A,B,C,D) or bode(sys)
线性化的时间响应
step(A,B,C,D) or step(sys) impulse(A,B,C,D) or impulse(sys) lsim(A,B,C,D,u,t) or lsim(sys,u,t)
您可以使用 Control System Toolbox 和 Robust Control Toolbox™ 产品中的其他函数进行线性控制系统设计。
当模型为非线性时,可以选择一个工作点,围绕该点提取线性化模型。linmod
的其他参数用于指定工作点。
[A,B,C,D] = linmod('sys', x, u)
对于离散系统或者连续与离散相混合的系统,可使用函数 dlinmod
进行线性化。此函数的调用语法与 linmod
基本相同,唯一的不同在于右侧第二个参数必须包含执行线性化的采样时间。
另请参阅
函数
linmod
|dlinmod
|linearize
(Simulink Control Design) |slLinearizer
(Simulink Control Design)
App
- 模型线性化器 (Simulink Control Design)
相关主题
- Choose Linearization Tools (Simulink Control Design)
- Linearize Nonlinear Models (Simulink Control Design)
- Exact Linearization Algorithm (Simulink Control Design)