Main Content

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

指定 Requirements Table 模块数据的大小

自 R2022a 起

您可以使用符号窗格和属性检查器,或使用模型资源管理器指定 Requirements Table 模块中数据的大小。Requirements Table 模块可以使用标量、向量或矩阵。有关创建、删除和设置数据属性的更多信息,请参阅 在 Requirements Table 模块中定义数据在 Requirements Table 模块中设置数据类型。您可以设置数据继承大小或者手动指定大小。

从指定源继承大小

如果希望数据从端口、常量值、指定值或参数继承其大小,请将大小属性设置为 -1作用域属性决定数据继承大小的来源。

作用域描述
输入从连接到相关输入端口的Simulink®信号继承大小。
输出从连接到关联输出端口的 Simulink 信号继承大小。
常数符号窗格中显示的指定值继承大小。
局部从分配的值继承大小。
参数从关联的 Simulink 或 MATLAB® 参数继承大小。

自定义数据大小

您可以手动将数据的大小设置为标量、向量或矩阵。要将大小指定为标量,请将大小设置为 1 或清除该属性。要将大小指定为向量或矩阵,请输入 [row column] 格式的正整数行向量。例如,要定义大小为 6 的列向量,请将大小属性设置为 [6 1]。要定义大小为 5 的行向量,请将大小属性设置为 [1 5]。要定义数据大小为 3×3 的矩阵,请将大小属性设置为 [3 3]

如果您不知道所需维度大小的上限,请使用 Inf 指定无界维度。 (自 R2023b 起)例如,如果您不知道列的上限,但最大大小为两行,则将大小设置为 [2 Inf]。要指定无限制维度:

  • 数据必须是可变大小。为数据启用可变大小属性。请参阅设置常规数据属性

  • 语言配置参数设置为 C++。打开配置参数窗口,在仿真目标窗格中,将语言设置为 C++

您还可以使用表达式设置大小属性。表达式可以包括:

  • 数值常量

  • 算术运算符,仅限于 +-*/

  • 作用域属性设置为参数的数据名称

  • 调用 MATLAB 函数 minmaxsize

这些表达式必须以 [row column] 格式输出一个正整数或两个正整数。否则,指定的大小会在模型编译时产生错误。例如,考虑一个 Requirements Table模块,其中包含数据 kxy,并且其作用域属性设置为参数。这里,k是正整数,xy是矩阵。如果为模块创建新数据,则可以使用以下任意表达式定义大小属性:

k+1
size(x)
min(size(y))

仿真与尺寸匹配

建立模型后,模型浏览器的 CompiledSize 列将显示仿真中使用的实际尺寸。如果大小属性的值不是-1,且与实际大小不匹配,则模型编译时会出现不匹配错误。

另请参阅

相关主题