Documentation Center 
Create timeseries object
Time series are data vectors sampled over time, in order, often at regular intervals. They are distinguished from randomly sampled data that form the basis of many other data analyses. Time series represent the timeevolution of a dynamic population or process. The linear ordering of time series gives them a distinctive place in data analysis, with a specialized set of techniques. Time series analysis is concerned with:
Identifying patterns
Modeling patterns
Forecasting values
ts = timeseries creates an empty timeseries object.
ts = timeseries(tsname) creates an empty timeseries object using the name, tsname, for the timeseries object. This name can differ from the timeseries variable name.
ts = timeseries(data) creates the timeseries object using the specified data.
ts = timeseries(data,time) creates the timeseries object using the specified data and time.
ts = timeseries(data,time,quality) specifies quality in terms of codes defined by QualityInfo.Code.
ts = timeseries(data,'Name',tsname) creates the timeseries object using the specified data and the name, tsname.
ts = timeseries(data,time,'Name',tsname) creates the timeseries object using the specified data, time, and the name, tsname.
ts = timeseries(data,time,quality,'Name',tsname) uses the specified quality and the name, tsname.
data 
The timeseries data, which can be an array of samples 
tsname 
Timeseries name specified as a string Default: ' ' 
time 
The time vector. When time values are date strings, you must specify Time as a cell array of date strings. When the time vector contains duplicate values:
Interpolating timeseries data using methods like resample and synchronize can produce different results depending on whether the input timeseries contains duplicate times. Default: A time vector that ranges from 0 to N1 with a 1second interval, where N is the number of samples. 
quality 
An integer vector with values128 to 127 that specifies the quality in terms of codes defined by QualityInfo.Code When Quality is a vector:
When Quality is an array:

Data 
Timeseries data, where each data sample corresponds to a specific time The data can be a scalar, a vector, or a multidimensional array. Either the first or last dimension of the data must align with Time. By default, NaNs represent missing or unspecified data. Set the TreatNaNasMissing property to determine how missing data is treated in calculations. Attributes:
 
DataInfo 
Contains fields for storing contextual information about Data:
 
Events 
An array of tsdata.event objects that stores event information for this timeseries object. You add events by using the addevent method. Fields of the tsdata.event object include the following:
 
IsTimeFirst 
Logical value (true or false) specifies whether the time vector is aligned with the first or last dimension of the Data array. The value is false for 3D and higher dimensional data and true otherwise.
Attributes:
 
Length 
Length of the time vector in the timeseries object Attributes:
 
Name 
The timeseries object name entered as a string, tsname. This name can differ from the name of the timeseries variable in the MATLAB workspace.  
Quality 
An integer vector or array containing values 128 to 127 that specify the quality in terms of codes defined by QualityInfo.Code. When Quality is a vector, it must have the same length as the time vector. In this case, each Quality value applies to a corresponding data sample. When Quality is an array, it must have the same size as the data array. In this case, each Quality value applies to the corresponding value of the data array. Attributes:
 
QualityInfo 
Provides a lookup table that converts numerical Quality codes to readable descriptions. QualityInfo fields include the following:
Lengths of Code and Description must match.  
Time 
Array of time values. When TimeInfo.StartDate is empty, the numerical Time values are measured relative to 0 in specified units. When TimeInfo.StartDate is defined, the time values are date strings measured relative to the StartDate in specified units. The length of Time must be the same as either the first or the last dimension of Data. When the data contains three or more dimensions, the length of Time matches the size of the last data dimension. Otherwise, the length of Time matches the size of the first data dimension. Attributes:
 
TimeInfo 
Uses the following fields for storing contextual information about Time:
 
TreatNaNasMissing 
Logical value that specifies how to treat NaN values in Data:
 
UserData 
Generic field for data of any class that you want to add to the object. Default: [] 
Methods to Query and Set Object Properties and Plot the Data
Methods to Calculate Descriptive Statistics for a timeseries Object
Query timeseries object property values.  
Return the size of each data sample in a timeseries object.  
Return data quality descriptions based on the Quality property values assigned to a timeseries object.  
Plot the timeseries object.  
Set timeseries property values. 
Add a data sample to a timeseries object.  
Concatenate timeseries objects in the time dimension.  
Transpose a timeseries object.  
Delete a sample from a timeseries object.  
Subtract the mean or bestfit line and remove all NaNs from timeseries data.  
Shape frequency content of timeseries data using a 1D digital filter.  
Extract a datestring time vector from a timeseries object into a cell array.  
Extract a subset of data samples from an existing timeseries object into an array using a subscripted indexed array.  
Extract a subset of data samples from an existing timeseries object into a new timeseries object using a subscript indexed array.  
Get the interpolation method for a timeseries object.  
Extract data samples from an existing timeseries object into a new timeseries object based on specified start and end time values.  
Apply an ideal pass or notch (noncausal) filter to a timeseries object.  
Select or interpolate data in a timeseries object using a new time vector.  
Set the time values in the time vector as date strings.  
Set interpolation method for a timeseries object.  
Assign uniform time vector to timeseries object.  
Synchronize and resample two timeseries objects using a common time vector.  
Transpose a timeseries object. 
To construct an event object, use the constructor tsdata.event. For an example of defining events for a timeseries object, see Defining Events.
Add one or more events to a timeseries object.  
Delete one or more events from a timeseries object.  
Create a new timeseries object by extracting the samples from an existing time series that occur after or at a specified event.  
Create a new timeseries object by extracting the samples that occur after a specified event from an existing time series.  
Create a new timeseries object by extracting the samples that occur at the same time as a specified event from an existing time series.  
Create a new timeseries object by extracting the samples that occur before or at a specified event from an existing time series.  
Create a new timeseries object by extracting the samples that occur before a specified event from an existing time series.  
Create a new timeseries object by extracting the samples that occur between two specified events from an existing time series. 
+  Addition of the corresponding data values of timeseries objects. 
  Subtraction of the corresponding data values of timeseries objects. 
.*  Elementbyelement multiplication of timeseries data. 
*  Matrixmultiply timeseries data. 
./  Right elementbyelement division of timeseries data. 
/  Right matrix division of timeseries data. 
.\  Elementbyelement leftarray divide of timeseries data. 
\  Left matrix division of timeseries data. 
Return the interquartile range of timeseries data.  
Return the maximum value of timeseries data.  
Return the mean of timeseries data.  
Return the median of timeseries data.  
Return the minimum of timeseries data.  
Return the standard deviation of timeseries data.  
Return the sum of timeseries data.  
Return the variance of timeseries data. 
The timeseries object, called timeseries, is a MATLAB variable that contains timeindexed data and properties in a single, coherent structure. For example, in addition to data and time values, you can also use the timeseries object to store events, descriptive information about data and time, data quality, and the interpolation method.
A timeseries data sample consists of one or more values recorded at a specific time. The number of data samples in a time series is the same as the length of the time vector.
For example, suppose that ts.data has the size 3by4by5 and the time vector has the length 5. Then, the number of samples is 5 and the total number of data values is 3 x 4 x 5 = 60.
A time vector of a timeseries object can be either numerical (double) values or valid MATLAB date strings.
When the timeseries TimeInfo.StartDate property is empty, the numerical time values are measured relative to 0 (or another numerical value) in specified units. In this case, the time vector is described as relative (that is, it contains time values that are not associated with a specific start date).
When TimeInfo.StartDate is nonempty, the time values are date strings measured relative to StartDate in specified units. In this case, the time vector is described as absolute (that is, it contains time values that are associated with a specific calendar date).
MATLAB supports the following datestring formats for timeseries applications.
DateString Format  Usage Example 

ddmmmyyyy HH:MM:SS  01Mar2000 15:45:17 
ddmmmyyyy  01Mar2000 
mm/dd/yy  03/01/00 
mm/dd  03/01 
HH:MM:SS  15:45:17 
HH:MM:SS PM  3:45:17 PM 
HH:MM  15:45 
HH:MM PM  3:45 PM 
mmm.dd,yyyy HH:MM:SS  Mar.01,2000 15:45:17 
mmm.dd,yyyy  Mar.01,2000 
mm/dd/yyyy  03/01/2000 
Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB documentation.
Create a timeseries object called 'LaunchData' that contains four data sets, each stored as a column of length 5 and using the default time vector:
b = timeseries(rand(5, 4),'Name','LaunchData')
Create a timeseries object containing a single data set of length 5 and a time vector starting at 1 and ending at 5:
b = timeseries(rand(5,1),[1 2 3 4 5])
Create a timeseries object called 'FinancialData' containing five data points at a single time point:
b = timeseries(rand(1,5),1,'Name','FinancialData')