重设时间表时间
在实时编辑器中重采样或聚合时间表数据
说明
重设时间表时间任务允许您以交互方式更改时间表的行时间,然后对其变量中的数据进行重采样或聚合。该任务会自动为您的实时脚本生成 MATLAB® 代码。
使用此任务,您可以:
在新的行时间处进行数据插值。
将数据聚合到时间 bin(例如,为了创建一个包含每月数据的季度均值的时间表)。
删除具有重复行时间的行。
通过指定均匀时间步或采样率,将不规则时间表转换为规则时间表。
相关函数
重设时间表时间生成使用 retime 函数的代码。

打开任务
要在 MATLAB 编辑器中将重设时间表时间任务添加到实时脚本中,请执行以下操作:
在实时编辑器选项卡上,选择任务 > 重设时间表时间。
在脚本的代码块中,键入相关关键字,例如
retime、timetable、upsample或downsample。从建议的命令自动填充项中选择重设时间表时间。对于某些关键字,任务会自动更新一个或多个对应的参数。
示例
此示例说明如何使用重设时间表时间实时编辑器任务对时间表中的数据进行重采样和聚合。您还可以应用不同规则以不同方式调整时间表变量。
重采样数据
使用数据的列向量创建时间表。行时间在 10 到 50 毫秒之间。
Intensity = [100 98.7 95.2 101.4 99.1]'; Time = milliseconds([11 20 34 40.3 49.9])'; TT1 = timetable(Time,Intensity)
TT1=5×1 timetable
Time Intensity
__________ _________
0.011 sec 100
0.02 sec 98.7
0.034 sec 95.2
0.0403 sec 101.4
0.0499 sec 99.1
将重设时间表时间任务添加到您的实时脚本中。对 TT 中的数据重采样。
要指定 100 Hz 的采样率,请使用
Selection method菜单。要使用线性插值调整
Intensity变量中的数据,请使用General rule菜单。
newTimetable=5×1 timetable
Time Intensity
________ _________
0.01 sec 100.14
0.02 sec 98.7
0.03 sec 96.2
0.04 sec 101.1
0.05 sec 99.076
聚合数据
从 bostonTT MAT 文件中加载第二个时间表。此时间表包括波士顿市的温度、风速和降雨量等测量值。测量值大约相隔六个小时,但不固定。
load bostonTT
BostonBoston=6×3 timetable
Time Temp WindSpeed Rain
___________________ ____ _________ ____
2016-06-09 06:03:00 59.5 0.1 0.05
2016-06-09 12:00:23 63 2.3 0.08
2016-06-09 18:02:57 61.7 3.1 0.13
2016-06-10 06:01:47 55.4 5.7 0.15
2016-06-10 12:06:00 62.3 2.6 0.87
2016-06-10 18:02:57 58.8 6.2 0.33
将重设时间表时间任务的第二个实例添加到您的实时脚本中。将数据聚合到每日时间 bin 中。
要指定一天的时间步,请使用
Selection method菜单。要计算时间表变量的均值,请使用
General rule菜单。要为
Rain变量指定不同规则,请使用Exceptions菜单。添加一个例外,以在每天开始时进行降雨量测量值插值。
newTimetable2=2×3 timetable
Time Temp WindSpeed Rain
___________________ ______ _________ ________
2016-06-09 00:00:00 61.4 1.8333 0.019529
2016-06-10 00:00:00 58.833 4.8333 0.13993
相关示例
参数
从包含工作区中所有非空时间表的列表中指定名称。
指定计算时间表的新行时间的方法。
时间步 - 连续固定间隔行时间之间的时间长度。
采样率 - 固定间隔行时间的采样率或频率。
来自工作区的时间 - 工作区变量,它是
datetime或duration值组成的向量。向量中的时间替换时间表的行时间。时间不需要是固定间隔的时间。
指定调整时间表变量中数据值的规则。该规则适用于所有变量,除非指定例外情况。您可以对数据值进行重采样或聚合,以便:
用缺失数据指示符或常量值填充空缺。
按新的行时间对数据插值。例如,对在 100 Hz 到 200 Hz 之间测量的数据进行重采样。
将数据聚合到时间 bin 中。例如,基于每小时测量的数据值计算每日均值。
点击添加按钮。然后从出现的变量名称下拉列表中指定一个时间表变量。
要调整指定变量中的数据,请从变量名称右侧的规则下拉列表中选择一个规则。例外的规则可以不同于一般规则。
要为其他时间表变量指定例外,请点击第一个例外右侧的 + 按钮。变量名称和规则的新下拉列表出现在前面的例外下方。
版本历史记录
在 R2020a 中推出当您为一般规则方法选择自定义函数选项时,可以选择局部定义的函数或指定函数句柄。
要选择局部函数,请执行以下操作:
选择自定义函数。
从下一个菜单中选择局部函数。
如果您要在脚本中添加新局部函数,请点击新建。该任务会为实时脚本中的自定义聚合函数生成模板代码。要自定义此代码,请在实时脚本中编辑它。
从选择菜单中选择局部函数的名称。
要指定函数句柄,请执行以下操作:
选择自定义函数。
从下一个菜单中选择函数句柄。
在文本框中指定函数句柄。
您可以指定 MATLAB 函数的句柄,或在文本框中编写匿名函数。例如,要将
mean指定为函数,请在文本框中键入@mean。
如果输入包含的元素超过一百万个,则此实时编辑器任务不会自动运行。在以前的版本中,对于任何大小的输入,该任务始终自动运行。如果输入包含大量元素,则由此任务生成的代码可能需要相当长的时间来运行(超过几秒)。
当任务不自动运行时,自动运行指示符会被禁用。您可以在需要时手动运行任务,也可以选择启用任务自动运行。
在 R2020b 中,线性插值是在重设时间表时间实时编辑器任务中调整数据的默认一般规则。在以前的版本中,默认一般规则是用缺失值来填充输出时间表中的空缺。
但是,即使在 R2020b 中,只要满足以下任一条件,默认规则就会恢复为用缺失值填充间隙:
输入时间表的行时间未排序。
输入时间表中至少一个变量的数据类型不是数值、
datetime或duration。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

