主要内容

linmod2

使用减小截断误差的算法在工作点附近提取连续时间线性状态空间模型

说明

[A,B,C,D] = linmod2(mdl) 通过使用减小截断误差的算法扰动模型输入和状态,计算模型 mdl 中表示的常微分方程组的线性状态空间模型。模型中的 InportOutport 模块表示系统输入和输出。

注意

linmod2 仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink® Control Design™ 软件。有关详细信息,请参阅选择线性化工具 (Simulink Control Design)

[A,B,C,D] = linmod2(mdl,x,u) 在由状态值 x 和输入值 u 指定的工作点处,计算模型 mdl 中表示的常微分方程组的线性状态空间模型。

[A,B,C,D] = linmod2(mdl,x,u,opts) 使用选项 opts 在指定工作点上计算模型 mdl 中表示的系统的线性状态空间模型。

[n,d] = linmod2(___) 以传递函数形式返回线性化模型。

sys = linmod2(___) 返回一个结构体,其中包含线性化模型、状态名称、输入和输出名称以及有关工作点的信息。

输入参数

全部折叠

要线性化的模型的名称,指定为字符串或字符向量。

数据类型: char | string

对模型进行线性化时所在的工作点的模型状态,指定为结构体或向量。将对模型进行线性化时所在的工作点指定为模型状态和输入值的组合。

要将模型的状态提取为结构体,请使用 Simulink.BlockDiagram.getInitialState 函数。您可以通过修改 signals 子结构体的 values 字段来编辑模型状态的值。例如,使用以下命令访问名为 mdl 的模型的状态值。

mdlState = Simulink.BlockDiagram.getInitialState("mdl");
stateVals = mdlState.signals.values;

在以下情况下,必须使用结构体格式指定对模型进行线性化时所处的状态:

  • 该模型是一个模型引用层次结构。

  • 该模型的状态具有不同的数据类型。

  • 该模型中有一些状态的数据类型不是 double

对模型进行线性化时所在的工作点的输入值,指定为向量。将对模型进行线性化时所在的工作点指定为模型状态和输入值的组合。

数据类型: double

扰动算法选项,指定为具有下表中所述的元素和值的向量。

元素默认值
opts(1)用于扰动模型状态和输入的扰动增量值。1e-5
opts(2)线性化过程中计算模块的非负时间。0
opts(3)

从没有直接馈通的模块中删除额外状态的选项。

  • 0 - 不从没有直接馈通的模块中删除额外状态。

  • 1 - 从没有直接馈通的模块中删除额外状态。

0

输出参量

全部折叠

线性化模型的状态空间表示,以向量形式返回。

线性化模型的传递函数表示,以向量形式返回。

线性化模型,以包含状态名称、输入和输出名称以及工作点信息的结构体形式返回。

限制

  • linmod2 仅提供基本的线性化功能。要获得完整的线性化功能,请使用 Simulink Control Design 软件。有关详细信息,请参阅选择线性化工具 (Simulink Control Design)

  • 包含一个或多个配置为使用局部求解器的引用模型的模型不支持线性化。有关详细信息,请参阅Use Local Solvers in Referenced Models

提示

  • 默认情况下,系统时间为零。对于依赖时间的系统,您可以使用 opts 输入参量的第二个元素来指定系统时间。

  • 在线性化中保留状态顺序,以使线性化模型中的状态顺序与非线性模型中的状态顺序匹配。通过将模型名称用作执行 sizes 阶段的编程接口,您可以获得有关模型中的状态以及与状态相关联的模块的信息。名为 blks 的返回参量是一个向量,它包含与状态相关联的每个模块的名称。有关详细信息,请参阅Use Model Name as Programmatic Interface

    [sys,x0,blks,st] = modelName([],[],[],'sizes');
  • 您可以使用以下函数将线性化单输入多输出系统的状态空间线性化表示转换为另一种形式:

    • ss2tf - 从状态空间转换为传递函数形式。

    • ss2zp (Signal Processing Toolbox) - 从状态空间转换为零极点形式。

  • 您可以使用 ss (Control System Toolbox) 函数从线性化模型创建状态空间模型对象。您可以使用状态空间模型对象来表示用于控制设计的线性时不变 (LTI) 系统。您还可以组合多个 LTI 状态空间模型来表示更复杂的系统。

  • 在创建状态空间模型对象后,您可以使用 tf (Control System Toolbox) 函数转换为传递函数形式,或使用 zpk (Control System Toolbox) 函数转换为零极点增益形式。

版本历史记录

在 R2007a 中推出

另请参阅

| |