假设我有一个Simulink块,其中包含类似以下内容:
function y = myFnc(x, par)
y = zeros(1, par(1)) + x;
我将par
声明为模型资源管理器中的参数,并从工作空间中读取其值。现在,Simulink推断y
是variable-size signal,并具有与之相关的所有讨厌的限制。
是否有任何方法可以对工作空间中的信号尺寸进行参数设置,而又使信号尺寸保持固定不变?
在C / C ++中,我只声明一个常量。
有一些限制的方法是创建一个具有const这样的属性的类:
classdef DIMS
properties (Constant)
NR_SIGNALS = 10
LEN_SIG = 32000
BLOCKS = 2 * DIMS.NR_SIGNALS
end
end
...并在适当的地方使用常量属性(例如DIMS.LEN_SIG
)作为参数。
参数化将在模型编译时固定,甚至在生成的代码中进行硬编码(如果适用)。>>