我是Simulink的新手,正在做一个项目。我有几个MATLAB Function块,它们使用向量(大小为7200)。我的源代码是From Workspace块,到目前为止只有一个时间点(行)和7200个数据点(列)。现在我想模拟多个时间点,因此我构造了一个由10个数据点组成的时间序列矩阵,但我想按顺序“发送”每一行(时间点),以便我的MatLab FCN块使用大小为7200的向量工作,而不是同时处理所有行,这会导致错误。你知道我怎么才能做到这一点吗?
MATLAB Function
From Workspace
hwamh0ep1#
当使用From Workspace块时,所读取的工作区数据应该具有特定的格式。该格式取决于所使用的数据类型(即数组、时间序列、带时间的结构等)。当使用TimeSeries格式时,第一列应该是将其他列中的数据读入模型的(模拟)时间。因此,例如,以以下方式定义的sim_input_data将以0.2秒的间隔(在从0到10秒的时间段上)被读入为3元素向量(即,时间序列的每个行)。
sim_input_data
>> sim_input_data = timeseries(randn(51,3),linspace(0,10,51)) timeseries Common Properties: Name: 'unnamed' Time: [51x1 double] TimeInfo: [1x1 tsdata.timemetadata] Data: [51x3 double] DataInfo: [1x1 tsdata.datametadata] More properties, Methods
在您的例子中,您需要正确定义第一列,并将时间序列中的数据定义为您当前拥有的数据的转置。
1条答案
按热度按时间hwamh0ep1#
当使用
From Workspace
块时,所读取的工作区数据应该具有特定的格式。该格式取决于所使用的数据类型(即数组、时间序列、带时间的结构等)。当使用TimeSeries格式时,第一列应该是将其他列中的数据读入模型的(模拟)时间。因此,例如,以以下方式定义的
sim_input_data
将以0.2秒的间隔(在从0到10秒的时间段上)被读入为3元素向量(即,时间序列的每个行)。在您的例子中,您需要正确定义第一列,并将时间序列中的数据定义为您当前拥有的数据的转置。