Descriptor State-Space
模型线性隐式系统

库:
Simulink /
Continuous
描述
Descriptor State-Space 模块允许您对隐式形式 描述的线性隐式系统进行建模,其中 E 是系统的质量矩阵。当 E 非奇异且因此可逆时,您可以用显式形式 描述系统,并使用 State-Space 模块对系统进行建模。
当质量矩阵 E 为奇异矩阵时,方程不包含系统中一个或多个因变量的导数。系统中的因变量也称为代数变量,含有代数变量的微分方程称为微分代数方程。由微分代数方程描述的系统的状态空间表示具有以下形式:
其中:
x 是状态向量。
u 是输入向量。
y 是输出向量。
示例
端口
输入
隐式系统的实值标量或向量输入信号。输入信号数据类型必须为 double
。对于向量输入信号,信号宽度必须与系统的 B 和 D 矩阵中的列数相匹配。
在以下情况下,此端口具有直接馈通:
将 Direct Feedthrough 参数设置为 True。
您将直接馈通参数设置为自动,软件就会确定该模块具有直接馈通。
数据类型: double
输出
隐式系统的输出信号。
数据类型: double
参数
指定隐式系统是否具有直接馈通。当一个或多个输出信号的值直接取决于一个或多个输入信号的值时,该模块具有直接馈通。
True - 输出信号值直接取决于输入信号值。
False - 输出信号值不直接依赖于输入信号值。
自动 - 软件根据指定矩阵的特性确定输出信号值是否直接取决于输入信号值。
当此模块实现具有 500 个以上连续状态的系统时,将此参数指定为 True 或 False 可以加快仿真速度。
编程用法
要以编程方式设置模块参数值,请使用 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'
。要为多个状态指定名称,请将此参数值指定为字符向量元胞数组。元胞数组中的每个名称必须唯一。例如,要指定名称
a
、b
和c
,请输入{'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'})
扩展功能
不建议用于生产代码。
在 R2024b 之前的版本中: Descriptor State-Space 模块仅支持 C 代码生成,不支持 C++ 代码生成。
考虑使用模型离散化器将连续模块(例如 Descriptor State-Space 模块)映射到支持代码生成的离散等效块。要打开模型离散化器,请在 App 选项卡中的控制系统下点击模型离散化器。
版本历史记录
在 R2018b 中推出另请参阅
模块
函数
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)