主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

Descriptor State-Space

模型线性隐式系统

  • Descriptor State-Space block

库:
Simulink / Continuous

描述

Descriptor State-Space 模块允许您对隐式形式 Ex˙=Ax+Bu 描述的线性隐式系统进行建模,其中 E 是系统的质量矩阵。当 E 非奇异且因此可逆时,您可以用显式形式 x˙=E1Ax+E1Bu 描述系统,并使用 State-Space 模块对系统进行建模。

当质量矩阵 E 为奇异矩阵时,方程不包含系统中一个或多个因变量的导数。系统中的因变量也称为代数变量,含有代数变量的微分方程称为微分代数方程。由微分代数方程描述的系统的状态空间表示具有以下形式:

Ex˙=Ax+Buy=Cx+Du

其中:

  • x 是状态向量。

  • u 是输入向量。

  • y 是输出向量。

示例

端口

输入

全部展开

隐式系统的实值标量或向量输入信号。输入信号数据类型必须为 double。对于向量输入信号,信号宽度必须与系统的 BD 矩阵中的列数相匹配。

在以下情况下,此端口具有直接馈通:

  • Direct Feedthrough 参数设置为 True

  • 您将直接馈通参数设置为自动,软件就会确定该模块具有直接馈通。

数据类型: double

输出

全部展开

隐式系统的输出信号。

数据类型: double

参数

全部展开

将质量矩阵 E 指定为实值 n×n 矩阵,其中 n 是系统中的状态数。质量矩阵可以是奇异的或非奇异的,并且必须具有与 A 矩阵相同的维度。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: E
值: '1' (默认) | scalar | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",E="[1 2;3 4]")

将矩阵 A 指定为实值 n×n 矩阵,其中 n 是系统中的状态数。矩阵 A 必须具有与质量矩阵 E 相同的维度。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: A
值: '1' (默认) | scalar | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",A="[1 2;3 4]")

将矩阵 B 指定为实值 n×m 矩阵,其中 n 是系统中的状态数,m 是输入数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: B
值: '1' (默认) | scalar | vector | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",B="[1 2]")

将矩阵 C 指定为实值 r×n 矩阵,其中 n 是系统中的状态数,r 是输出数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: C
值: '1' (默认) | scalar | vector | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",C="[3 4]")

将矩阵 D 指定为实值 r×m 矩阵,其中 r 是系统输出的数量,m 是系统输入的数量。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: D
值: '1' (默认) | scalar | vector | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",D="5")

指定隐式系统状态的初始值。状态不能具有 InfNaN 值。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: InitialCondition
值: '0' (默认) | scalar | vector | matrix
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",InitialCondition="[2 3]")

指定隐式系统是否具有直接馈通。当一个或多个输出信号的值直接取决于一个或多个输入信号的值时,该模块具有直接馈通。

  • True - 输出信号值直接取决于输入信号值。

  • False - 输出信号值不直接依赖于输入信号值。

  • 自动 - 软件根据指定矩阵的特性确定输出信号值是否直接取决于输入信号值。

当此模块实现具有 500 个以上连续状态的系统时,将此参数指定为 TrueFalse 可以加快仿真速度。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: DirectFeedthrough
值: 'True' (默认) | 'False' | 'Auto'
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",DirectFeedthrough="False")

对于 Simulink® Control Design™ 工作流,在线性化过程中将 Descriptor State-Space 模块表示的系统线性化为稀疏模型。

禁用此参数可将系统线性化为非稀疏显式状态空间模型。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: LinearizeToSparse
值: 'off' (默认) | 'on'
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",LinearizeToSparse="on")

变步长求解器在选择步长时使用绝对和相对容差来确定状态计算中的误差是否可接受。

要从绝对容差配置参数继承绝对容差,请将此参数值指定为 auto-1

要为此模块指定一个绝对容差来覆盖为绝对容差配置参数指定的值,请执行以下操作:

  • 输入用于计算所有模块状态的正实数标量值。

  • 输入实数向量,其维度与模块的连续状态的维度匹配。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: AbsoluteTolerance
值: 'auto' (默认) | '-1' | positive real scalar number | vector of positive real scalar numbers
数据类型: char | string

示例: set_param("MyModel/Descriptor State-Space",AbsoluteTolerance="-1")

使用此参数可选择为此模块的状态指定名称。您指定的名称仅应用于此模块的状态。

  • 要使用默认状态名称,请将此字段留空 ('')。

  • 要为单个状态分配单个名称,请输入名称并用引号引起来。例如,要命名单一状态 position,请输入 'position'

  • 要为多个状态指定名称,请将此参数值指定为字符向量元胞数组。元胞数组中的每个名称必须唯一。例如,要指定名称 abc,请输入 {'a','b','c'}

  • 要使用 MATLAB 变量指定名称,请输入不带引号的变量名称。例如,要使用变量 names 来指定状态名称,请输入 names

您指定的名称数量可以少于模块中的状态数量。在这种情况下,状态名称用于多个状态,状态的数量必须能够被状态名称的数量均分。例如,当您为具有四个状态的模块指定两个名称时,第一个名称用于前两个状态,第二个名称用于后两个状态。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

要以编程方式获取模块参数值,请使用 get_param 函数。

参数: ContinuousStateAttributes
值: '' (默认) | valid MATLAB variable name
数据类型: char | string | cell

示例: set_param("MyModel/Descriptor State-Space",ContinuousStateAttributes={'position','velocity'})

模块特性

数据类型

double

直接馈通

a

多维信号

可变大小信号

过零检测

a 此模块的直接馈通特性取决于模块参数值。

扩展功能

全部展开

版本历史记录

在 R2018b 中推出

全部展开