Synchronize Timetables
Description
The Synchronize Timetables task lets you interactively collect variables from all input timetables, synchronize them to a common time vector, and return the result as a single timetable. The effect is similar to a horizontal concatenation, though the input timetables can have different row times. The task also automatically generates MATLAB® code for your live script.
Using this task, you can:
Interpolate data values at new row times.
Aggregate data into time bins (for example, to create a timetable containing quarterly means from timetables containing monthly data).
Remove rows that have duplicate row times.
Make the output a regular one by specifying a uniform time step or sample rate.
More
Related Functions
Synchronize Timetables generates code that uses the
synchronize
function.
Open the Task
To add the Synchronize Timetables task to a live script in the MATLAB Editor:
On the Live Editor tab, select Task > Synchronize Timetables.
In a code block in the script, type a relevant keyword, such as
synchronize
,timetable
,upsample
, ordownsample
. Select Synchronize Timetables from the suggested command completions. For some keywords, the task automatically updates one or more corresponding parameters.
Examples
Synchronize Timetables Using Live Editor Task
This example shows how to use the Synchronize Timetables Live Editor task to synchronize data in input timetables.
First, load two small timetables from the firstTT
MAT-file. TT1
contains temperature measurements, and TT2
contains humidity measurements.
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
Add the Synchronize Timetables task to your live script.
To specify new row times that are the union of the row times from
TT1
andTT2
, use theSelection method
menus.To adjust data by filling gaps in the output timetable variables, use the
General rule
menu. SelectFill with missing
as the rule. The task fills gaps with the missing value that is appropriate for the data type of each timetable variable. For numeric variables, the missing value isNaN
.
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
You can fill gaps with interpolated values instead of NaN
s. Specify linear interpolation as the general rule.
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
Synchronize to a regular hourly time vector instead of the union of row times.
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
Related Examples
Parameters
Input timetables
— Names of two or more timetables
drop-down list items
Specify the names of two or more input timetables from lists of all the nonempty timetables that are in the workspace.
You can specify the names of two timetables using the two drop-down lists initially provided. To specify more timetables, click the + button to the right of a drop-down list. You can add an unlimited number of timetables.
Selection method
— Method for specifying row times
drop-down list items
Specify the method for calculating new row times of the output timetable.
Times from timetables
— Method for extracting row times from one or more input timetables. For example, you can use the union of the row times from all timetables, or the intersection, or the row times from the last timetable.Time step
— Length of time between consecutive regularly spaced row times.Sample rate
— Sample rate or frequency for regularly spaced row times.Times from workspace
— Workspace variable that is a vector ofdatetime
orduration
values. The times in the vector become the row times of the output timetable. The times need not be regularly spaced.
General rule
— Rule for adjusting data values
drop-down list items
Specify the rule for adjusting data values in the variables of the timetables. The rule applies to all variables from all input timetables unless exceptions are specified. You can resample or aggregate data values to:
Fill gaps with missing data indicators or a constant value.
Interpolate data values to the new row times. For example, resample data measured at 100 Hz to 200 Hz.
Aggregate data into time bins. For example, calculate a daily mean from data values measured at every hour.
Exceptions
— Different rule or rules for adjusting specified variables
drop-down list items
Click the Add button. Then specify a timetable variable from the drop-down lists of timetable names and variable names that appear. Select an input timetable from the first list, then one of its variables from the second list.
To adjust the data in the specified variable, select a rule from the third drop-down list, to the right of the list of variables. The rule for the exception can differ from the general rule.
To specify exceptions for other timetable variables, click the + button to the right of the first exception. New drop-down lists of timetable names, variable names, and rules appear below the previous exception.
Version History
Introduced in R2020aR2024b: Specify custom function as local function or function handle
When you select the Custom function
option for the General rule method, you can either select a locally defined function or specify a function handle.
To select a local function:
Select
Custom function
.Select
Local function
from the next menu.If you want to add a new local function to the script, click New. The task generates template code for a custom aggregation function within the live script. To customize this code, edit it in the live script.
Select the name of the local function from the
select
menu.
To specify a function handle:
Select
Custom function
.Select
Function handle
from the next menu.Specify a function handle in the text box.
You can specify a handle to a MATLAB function or write an anonymous function in the text box. For example, to specify
mean
as the function, type@mean
in the text box.
R2022a: Live Editor task does not run automatically if inputs have more than 1 million elements
This Live Editor task does not run automatically if the inputs have more than 1 million elements. In previous releases, the task always ran automatically for inputs of any size. If the inputs have a large number of elements, then the code generated by this task can take a noticeable amount of time to run (more than a few seconds).
When a task does not run automatically, the Autorun indicator is disabled. You can either run the task manually when needed or choose to enable the task to run automatically.
R2021b: Synchronize Timetables Live Editor task synchronizes an unlimited number of timetables
Starting in R2021b, the Synchronize Timetables Live Editor task can synchronize an unlimited number of timetables. In previous releases, the task could synchronize no more than five timetables.
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.
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)