我对Simulink来说还很陌生,正在从事一个项目。我有几个MATLAB Function
块,可用于矢量(大小为7200)。我的来源是From Workspace
块,到目前为止,它具有一个时步(行)和7200个数据点(col)。现在,我想模拟多个时间步长,因此我构建了一个由10个数据点组成的时间序列矩阵,但是我想顺序地“发送”每一行(时间步长),以便我的Matlab fcn块以7200大小的矢量工作,而不是同时显示所有行[7200x10],这会导致错误。
有什么想法可以实现这一目标吗?
答案 0 :(得分:0)
使用From Workspace
块时,读取的工作区数据应具有特定的格式。该格式取决于所使用的数据类型(即数组,时间序列,带时间的结构等)
使用时间序列格式时,第一列应该是将其他列中的数据读入模型的(模拟)时间。因此,例如,以以下方式定义的sim_input_data
将以3元素向量(即时间序列的每个 行 )在0.2秒的间隔内读取(时间段为0到10秒)。
>> 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
在这种情况下,您需要正确定义第一列,并将时间序列中的数据定义为当前方式的转置。