Arrays 如何使用MATLAB函数和Model Explorer在Simulink中定义动态数组

Arrays 如何使用MATLAB函数和Model Explorer在Simulink中定义动态数组,arrays,matlab,simulink,Arrays,Matlab,Simulink,我正在进行MatlabSimulink设计,我被一个问题绊住了。我想创建一个长度为随机的动态uint8数组。为此,我创建了一个Matlab函数,并将变量定义为: len = 100; ethMesg = ones([1,len], 'uint8'); 注意:Len将来将成为一个随机整数 稍后,我打开了模型资源管理器并将其设置为: 因此,基本上我选中了可变大小框,并将限制设置为1到1514(1x1514),因为MatlabSimulink要求一个上限。当我尝试构建模型(CTRL+D)时,下面的

我正在进行MatlabSimulink设计,我被一个问题绊住了。我想创建一个长度为随机的动态uint8数组。为此,我创建了一个Matlab函数,并将变量定义为:

len = 100;
ethMesg = ones([1,len], 'uint8');
注意:Len将来将成为一个随机整数

稍后,我打开了模型资源管理器并将其设置为:

因此,基本上我选中了可变大小框,并将限制设置为1到1514(1x1514),因为MatlabSimulink要求一个上限。当我尝试构建模型(CTRL+D)时,下面的错误返回

最大数据“ethMesg”的表达式“[1 1514]”的计算结果必须为 标量

我认为Simulink将此变量视为标量,不接受Model Explorer(1 x 1514)中的向量定义。是否有人知道如何确保变量被定义为向量,或者我做错了什么,因为这个变量在过去的两天里制造了问题

顺便说一句,我是否必须选中“可变大小”框来定义可变变量,否则Simulink会要求特定的大小

谢谢你的帮助。

我找到了答案:

这里它说最大值必须在大小块中定义,而不是最小-最大限制。 虽然我的问题解决了,但我仍然无法理解最小最大值的目的。它可能用于定义特定uint8的限制