带矢量输入的Simulink MATLAB功能块

带矢量输入的Simulink MATLAB功能块,matlab,simulink,Matlab,Simulink,我是Simulink的新手,正在做一个项目 更重要的是,我想收集不同的传感器数据,选择一个间隔,然后在我的Matlab函数中分析它,这是一种自适应。感觉我有一个基本的误解,因为我认为我的Matlab脚本可以直接在Simulink中工作。我有两个Matlab函数块,在Matlab中使用向量作为输入,但是当我使用诸如“来自工作区”之类的源时,我得到的错误是它不能同时处理多个值:索引表达式超出范围。试图访问元素2。有效范围为1-1 因此,我想知道是否有任何简洁的方法可以收集传感器数据连续流的给定间隔(

我是Simulink的新手,正在做一个项目

更重要的是,我想收集不同的传感器数据,选择一个间隔,然后在我的Matlab函数中分析它,这是一种自适应。感觉我有一个基本的误解,因为我认为我的Matlab脚本可以直接在Simulink中工作。我有两个Matlab函数块,在Matlab中使用向量作为输入,但是当我使用诸如“来自工作区”之类的源时,我得到的错误是它不能同时处理多个值:索引表达式超出范围。试图访问元素2。有效范围为1-1


因此,我想知道是否有任何简洁的方法可以收集传感器数据连续流的给定间隔(首先,原始输入将只是一个表示传感器数据的向量),以便通过一些Matlab函数对其进行分析?

听起来问题出在您使用来自工作区的
块的
的方式上,不是
MATLAB函数
块。(也就是说,将标量数据而不是矢量数据引入模型,当输入MATLAB功能块并尝试索引元素2时,元素2不存在。)如果你在显示器上打开信号尺寸>信号和端口>信号尺寸,它告诉你什么?@PhilGoddard如果你是指源符号旁边的数字,它说的是1。这是源的总大小吗?我认为这象征着simulink在每个时间步长上取一个数据点。@PhilGoddard我想创建一种缓冲区,它从工作区接收一个数组,并保存一个给定大小的间隔,该间隔将发送到我的一个Matlab功能块。我现在尝试了一个“for-each”子系统,它使用向量级联器。但它似乎不起作用。有什么建议吗?我在“for each”子系统的内部附上了一个打印屏幕:如您所见,手头的节点是所有输入和输出的解复用器的一部分。在这个问题的答案中有几个创建缓冲区的示例: