Main Content

线性化模型

Simulink® 产品提供 linmodlinmod2dlinmod 函数来从 Simulink 模型中提取线性状态空间模型。然而,这些函数仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink Control Design™ 软件。有关详细信息,请参阅选择线性化工具 (Simulink Control Design)

linmodlinmod2dlinmod 函数采用状态空间矩阵 ABCD 的形式提取线性模型。状态空间矩阵将线性输入-输出关系描述为

x˙=Ax+Buy=Cx+Du,

其中 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 库中的 InportOutport 模块来定义。信源模块和信宿模块不用作输入和输出。可以通过使用 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 基本相同,唯一的不同在于右侧第二个参量必须包含执行线性化的采样时间。

另请参阅

函数

App

相关主题