指定 Requirements Table 模块数据的大小
您可以使用符号窗格和属性检查器,或使用模型资源管理器指定 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 函数
min
、max
和size
这些表达式必须以 [row column]
格式输出一个正整数或两个正整数。否则,指定的大小会在模型编译时产生错误。例如,考虑一个 Requirements Table模块,其中包含数据 k
、x
和 y
,并且其作用域属性设置为参数。这里,k
是正整数,x
和y
是矩阵。如果为模块创建新数据,则可以使用以下任意表达式定义大小属性:
k+1 size(x) min(size(y))
仿真与尺寸匹配
建立模型后,模型浏览器的 CompiledSize 列将显示仿真中使用的实际尺寸。如果大小属性的值不是-1
,且与实际大小不匹配,则模型编译时会出现不匹配错误。