同步时间表
说明
同步时间表任务允许您以交互方式收集所有输入时间表中的变量,将它们与公共时间向量同步,并返回单个时间表形式的结果。其作用与水平串联相似,但是输入时间表可能有不同的行时间。该任务还会自动为您的实时脚本生成 MATLAB® 代码。
使用此任务,您可以:
在新的行时间处进行数据插值。
将数据聚合到时间 bin(例如,为了基于包含每月数据的时间表创建一个包含季度均值的时间表)。
删除具有重复行时间的行。
通过指定均匀时间步或采样率,使输出成为一个规则的时间表。
更多
相关函数
同步时间表生成使用 synchronize
函数的代码。
![](synchronizelet.png)
打开任务
要在 MATLAB 编辑器中将同步时间表任务添加到实时脚本中,请执行以下操作:
在实时编辑器选项卡上,选择任务 > 同步时间表。
在脚本的代码块中,键入相关关键字,例如
synchronize
、timetable
、upsample
或downsample
。从建议的命令自动填充项中选择同步时间表。对于某些关键字,任务会自动更新一个或多个对应的参数。
示例
使用实时编辑器任务同步时间表
此示例说明如何使用同步时间表实时编辑器任务来同步输入时间表中的数据。
首先,从 firstTT
MAT 文件中加载两个小型时间表。TT1
包含温度测量值,TT2
包含湿度测量值。
load firstTT
TT1
TT1=3×1 timetable
Time Temp
____________________ ____
06-Jun-2016 15:00:00 79.7
06-Jun-2016 16:00:00 76.3
06-Jun-2016 17:00:00 74.9
TT2
TT2=4×1 timetable
Time Humidity
____________________ ________
06-Jun-2016 14:35:48 49.7
06-Jun-2016 15:35:48 52.2
06-Jun-2016 16:35:48 56.7
06-Jun-2016 17:35:48 60
将同步时间表任务添加到您的实时脚本中。
要指定新的行时间,即
TT1
和TT2
行时间的并集,请使用Selection method
菜单。要通过填充输出时间表变量中的空缺来调整数据,请使用
General rule
菜单。选择Fill with missing
作为规则。该任务用适合时间表变量数据类型的缺失值来填充空缺。对于数值变量,缺失值是NaN
。
newTimetable=7×2 timetable
Time Temp Humidity
____________________ ____ ________
06-Jun-2016 14:35:48 NaN 49.7
06-Jun-2016 15:00:00 79.7 NaN
06-Jun-2016 15:35:48 NaN 52.2
06-Jun-2016 16:00:00 76.3 NaN
06-Jun-2016 16:35:48 NaN 56.7
06-Jun-2016 17:00:00 74.9 NaN
06-Jun-2016 17:35:48 NaN 60
您可以用插值(而不是 NaN
)来填充空缺。指定线性插值作为一般规则。
newTimetable2=7×2 timetable
Time Temp Humidity
____________________ ______ ________
06-Jun-2016 14:35:48 81.071 49.7
06-Jun-2016 15:00:00 79.7 50.708
06-Jun-2016 15:35:48 77.671 52.2
06-Jun-2016 16:00:00 76.3 54.014
06-Jun-2016 16:35:48 75.464 56.7
06-Jun-2016 17:00:00 74.9 58.03
06-Jun-2016 17:35:48 74.064 60
同步到一个规则的按小时间隔的时间向量,而不是行时间的并集。
newTimetable3=5×2 timetable
Time Temp Humidity
____________________ ____ ________
06-Jun-2016 14:00:00 83.1 48.208
06-Jun-2016 15:00:00 79.7 50.708
06-Jun-2016 16:00:00 76.3 54.014
06-Jun-2016 17:00:00 74.9 58.03
06-Jun-2016 18:00:00 73.5 61.33
相关示例
参数
输入时间表
— 两个或多个时间表的名称
下拉列表项
从包含工作区中所有非空时间表的列表中指定两个或多个输入时间表的名称。
您可以使用最初提供的两个下拉列表指定两个时间表的名称。要指定更多时间表,请点击下拉列表右侧的 + 按钮。您可以添加不限数量的时间表。
选择方法
— 指定行时间的方法
下拉列表项
指定计算输出时间表的新行时间的方法。
来自时间表的时间 - 从一个或多个输入时间表中提取行时间的方法。例如,您可以使用所有时间表的行时间的并集或交集,或最后一个时间表的行时间。
时间步 - 连续固定间隔行时间之间的时间长度。
采样率 - 固定间隔行时间的采样率或频率。
来自工作区的时间 - 工作区变量,它是
datetime
或duration
值组成的向量。向量中的时间成为输出时间表的行时间。时间不需要是固定间隔的时间。
一般规则
— 调整数据值的规则
下拉列表项
指定调整时间表的变量中数据值的规则。该规则适用于所有输入时间表中的所有变量,除非指定例外情况。您可以对数据值进行重采样或聚合,以便:
用缺失数据指示符或常量值填充空缺。
按新的行时间对数据插值。例如,对在 100 Hz 到 200 Hz 之间测量的数据进行重采样。
将数据聚合到时间 bin 中。例如,基于每小时测量的数据值计算每日均值。
例外
— 调整指定变量的不同规则
下拉列表项
点击添加按钮。然后从出现的时间表名称和变量名称的下拉列表中指定时间表变量。从第一个列表中选择输入时间表,然后从第二个列表中选择其变量之一。
要调整指定变量中的数据,请从变量列表右侧的第三个下拉列表中选择一个规则。例外的规则可以不同于一般规则。
要为其他时间表变量指定例外,请点击第一个例外右侧的 + 按钮。时间表名称、变量名称和规则的新下拉列表出现在前面的例外下方。
版本历史记录
在 R2020a 中推出R2022a: 如果输入包含的元素超过一百万个,则实时编辑器任务不会自动运行
如果输入包含的元素超过一百万个,则此实时编辑器任务不会自动运行。在以前的版本中,对于任何大小的输入,该任务始终自动运行。如果输入包含大量元素,则由此任务生成的代码可能需要相当长的时间来运行(超过几秒)。
当任务不自动运行时,自动运行指示符会被禁用。您可以在需要时手动运行任务,也可以选择启用任务自动运行。
R2021b: 同步时间表实时编辑器任务可同步不限数量的时间表
从 R2021b 开始,同步时间表实时编辑器任务可以同步不限数量的时间表。在以前的版本中,该任务最多可以同步五个时间表。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)