来自工作区时间序列的Simulink每个时间步上可能有多个数据点吗?

时间:2019-07-02 07:09:14

标签: matlab function time-series block simulink

我对Simulink来说还很陌生,正在从事一个项目。我有几个MATLAB Function块,可用于矢量(大小为7200)。我的来源是From Workspace块,到目前为止,它具有一个时步(行)和7200个数据点(col)。现在,我想模拟多个时间步长,因此我构建了一个由10个数据点组成的时间序列矩阵,但是我想顺序地“发送”每一行(时间步长),以便我的Matlab fcn块以7200大小的矢量工作,而不是同时显示所有行[7200x10],这会导致错误。

有什么想法可以实现这一目标吗?

1 个答案:

答案 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

在这种情况下,您需要正确定义第一列,并将时间序列中的数据定义为当前方式的转置。