主要内容

金宝appSimulink.SimulationData.forEachTimeseries

调用函数在每个timeseries对象

描述

例子

dataResults = 金宝appSimulink.SimulationData.forEachTimeseries (functionHandle,inputData)处理所有MATLAB运行指定的函数®timeseries中包含的对象inputData

例子

全部折叠

这个例子展示了如何使用forEachTimeseries函数来运行最小值函数在每个timeseries在记录数据对象COUNTERBUS信号。

打开模型和模拟。

openExample (“sldemo_mdlref_bus”)sim卡(“sldemo_mdlref_bus”);

访问日志数据信号。对于这个模型,数据存储在topOut变量。

topOut
金宝appSimulink.SimulationData。数据集的topOut 4元素名称BlockPath _______ ________________________________________ 1 [1 x1信号]COUNTERBUS sldemo_mdlref_bus /连接2 [1 x1信号]OUTERDATA sldemo_mdlref_bus / CounterA 3 [1 x1信号]INCREMENTBUS sldemo_mdlref_bus / IncrementBusCreator 4 [1 x1信号]INNERDATA……时代| sldemo_mdlref_counter_bus /计数器使用大括号{}来访问,修改或添加元素使用索引。

找到的值COUNTERBUS元素。

counterbusData = topOut {1} . values
counterbusData = 2×1结构体数组字段:数据的限制

运行最小值功能上的counterbus数据。

ret = 金宝appSimulink.SimulationData.forEachTimeseries (@min counterbusData)
ret = 2 x1结构体数组字段:数据的限制

探索返回的数据。

ret (1)
ans =数据:0限制:[1 x1 struct]
ret (2) .limits
ans = upper_saturation_limit: 40 lower_saturation_limit: 0

输入参数

全部折叠

函数运行在timeseries对象,指定为一个函数处理。指定函数处理的信息,请参阅将函数传递给另一个函数

你使用的功能forEachTimeseries:

  • 可以是一个内置的函数或一个指定的函数

  • 必须返回一个标量

如果你使用的功能forEachTimeseries需要:

  • 一个参数,指定函数句柄和输入数据。例如:

    ret = 金宝appSimulink.SimulationData.forEachTimeseries (@min、数据);
  • 多一个参数,指定函数处理@ (x)然后指定函数,使用x作为第一个参数。对于剩余的参数,指定值。例如,这个命令运行重新取样在MATLAB函数timeseries对象的数据,时间向量(2.5 - 3)

    ret = 金宝appSimulink.SimulationData.forEachTimeseries (@ (x)(重新取样(x,(2.5 - 3))),数据);

数据上运行指定的函数,指定为timeseries数据。

输出参数

全部折叠

产生的数据运行指定的函数,返回使用输入数据的格式和结构。

相关链接

MATLABtimeseries函数处理

版本历史

介绍了R2016b