Main Content

timeseries

创建 timeseries 对象

说明

时间序列表示动态规模或过程的时间演化。它们用于识别、建模和预测在离散时间间隔内采样的数据中的模式和行为。

注意

推荐使用 timetable 而不是 timeseries。时间表可以存储各种类型的带时间戳的数据,并具有广泛的支持函数用于预处理、重构和分析。

目前没有删除 timeseries 数据类型的计划。

创建对象

要创建一个 timeseries 对象,请使用 timeseries 函数以及用于描述数据样本的输入参量。

描述

示例

ts = timeseries(datavals) 返回一个包含 datavals 中的数据的 timeseries 对象。它指定默认采样时间,从零秒开始,时间步为一秒。

ts = timeseries(datavals,timevals) 指定系列的采样时间。得到的对象按时间对数据进行排序。

ts = timeseries(datavals,timevals,quality) 根据 QualityInfo.Code 定义的代码指定质量描述。

ts = timeseries(___,'Name',tsname)timeseries 对象指定一个名称 tsname

ts = timeseries() 返回一个空 timeseries 对象。

ts = timeseries(tsname) 创建一个名称为 tsname 的空 timeseries 对象。

输入参量

全部展开

样本数据,指定为数值或 logical 标量、向量或多维数组。

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

采样时间,指定为数值标量或向量,或指定为日期字符向量元胞数组。有效日期字符向量可以采用以下格式:

格式示例
dd-mmm-yyyy HH:MM:SS01-Mar-2000 15:45:17
dd-mmm-yyyy01-Mar-2000
mm/dd/yy03/01/00
mm/dd03/01
HH:MM:SS15:45:17
HH:MM:SS PM3:45:17 PM
HH:MM15:45
HH:MM PM3:45 PM
mmm.dd,yyyy HH:MM:SSMar.01,2000 15:45:17
mmm.dd,yyyyMar.01,2000
mm/dd/yyyy03/01/2000

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell

质量代码,指定为 [] 或由从 -128 到 127 的整数构成的标量、向量或多维数组。

  • 当质量代码为向量时,它的长度必须与时间向量相同。每个元素应用于对应的数据样本。

  • 当质量代码值为数组时,它的大小必须与数据数组相同。每个元素应用于数据数组的对应元素。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

timeseries 名称,指定为字符向量。

属性

全部展开

样本数据,表示为数值或 logical 标量、向量或多维数组。数据的第一个或最后一个维度必须与时间向量的方向相符。

Data 具有以下属性:

Dependenttrue

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

数据信息,表示为以下字段的集合:

  • Units - 用于指定数据单位的字符向量。

  • Interpolation - 指定插值方法的 tsdata.interpolation 对象。

    tsdata.interpolation 对象包含下列字段:

    • Fhandle - 用户定义的插值函数的函数句柄。

    • Name - 指定插值方法名称的字符向量。方法包括用于线性插值的 'linear'(默认值)和用于零阶保持的 'zoh'

  • UserData - 其他用户定义的信息,作为字符向量输入。

事件信息,表示为包含事件信息的 tsdata.event 对象数组。

tsdata.event 对象包含下列字段:

  • EventData - 有关事件的用户定义信息。

  • Name - 指定事件名称的字符向量。

  • Time - 事件发生的时间,指定为实数或日期字符向量。

  • Units - 时间单位。

  • StartDate - 参考日期,指定为日期字符向量。当时间向量为数值时,StartDate 为空。

时间向量对齐,表示为以下选项之一:

  • true - 数据数组的第一维度与时间向量相符。例如,ts = timeseries(rand(3,3),1:3);

  • false - 数据数组的最后一个维度与时间向量相符。例如,ts = timeseries(rand(3,4,5),1:5);

IsTimeFirst 具有以下属性:

Dependenttrue
SetAccess'protected'

时间向量长度,表示为标量。

Length 具有以下属性:

Dependenttrue
SetAccess'protected'

timeseries 名称,以字符向量的形式表示。

质量代码,表示为 [] 或由从 -128 到 127 的整数构成的标量、向量或多维数组。

  • 当质量代码为向量时,它的长度必须与时间向量相同。每个元素应用于对应的数据样本。

  • 当质量代码值为数组时,它的大小必须与数据数组相同。每个元素应用于数据数组的对应元素。

Quality 具有以下属性:

Dependenttrue

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

用于描述 Quality 代码的质量信息,表示为以下字段的集合:

  • Code - 包含 -128127 的值的整数向量,用于定义质量代码。可以通过使用 Quality 属性将其中的一个整数值赋予 Data 值。

  • Description - 字符向量元胞数组,其中每个元素提供关联的质量 Code 的一份可读描述。

  • UserData - 其他的用户定义信息。

CodeDescription 的长度必须相符。

时间值,表示为向量。

如果 TimeInfo.StartDate 为空,将相对于 0 测量值。定义 TimeInfo.StartDate 时,值表示相对于 StartDate 测量的日期字符向量。

Time 的长度必须与 Data 的第一个或最后一个维度相同。

Time 具有以下属性:

Dependenttrue

时间信息,表示为描述时间向量的以下字段的集合:

  • Units - 时间单位,其值为 'weeks''days''hours''minutes''seconds''milliseconds''microseconds''nanoseconds'

  • Start - 开始时间。

  • End - 结束时间(只读)。

  • Increment - 后续时间值之间的间隔(如果时间采样不均匀,则为 NaN)。

  • Length - 时间向量的长度(只读)。

  • Format - 定义日期显示的字符向量(请参阅 datestr)。

  • StartDate - 定义参考日期的日期字符向量(请参阅 setabstime)。使用与 Format 相同的格式指定 StartDate

  • UserData - 其他的用户定义信息。

要访问 timeseries 对象 ts 某个字段的值,请使用 ts.TimeInfo.field 语法形式进行访问。

缺失值指示符,表示为以下选项之一:

  • true - 将所有 NaN 值视为缺失数据(描述性统计量函数除外)。

  • false - 包含描述性统计量函数中的 NaN 值,从而将 NaN 传播到结果。

用户数据,表示为要添加到 timeseries 对象的任何其他数据。

对象函数

全部展开

addevent将事件添加到 timeseries
addsampletimeseries 对象中添加数据样本
append沿时间维度串联 timeseries 对象
deleventtimeseries 中删除事件
delsampletimeseries 对象中删除样本
detrendtimeseries 对象中减去均值或最佳拟合线
filter修改 timeseries 对象的频率成分
idealfiltertimeseries 理想滤波器
plot绘制 timeseries
resampletimeseriestscollection 中的时间向量进行重采样
setabstimetimeseriestscollection 时间设置为日期字符向量
setinterpmethod设置 timeseries 对象的默认插值方法
setuniformtime修改均匀的 timeseries 时间向量
synchronize使用公共时间向量同步两个 timeseries 对象并重采样
getabstimetimeseriestscollection 时间向量转换为元胞数组
getdatasamples访问 timeseries 数据样本
getdatasamplesizetimeseries 数据样本大小
getinterpmethodtimeseries 插值方法
getqualitydesctimeseries 数据质量
getsamplestimeseries 的子集
getsampleusingtimetimeseriestscollection 数据的子集
gettsafteratevent创建事件发生当时或之后的 timeseries
gettsafterevent创建事件发生之后的 timeseries
gettsatevent创建事件发生时的 timeseries
gettsbeforeatevent创建事件发生时或发生之前的 timeseries
gettsbeforeevent创建事件发生之前的 timeseries
gettsbetweenevents创建两次事件之间的 timeseries
iqrtimeseries 数据的四分位差
maxtimeseries 数据的最大值
meantimeseries 数据的均值
mediantimeseries 数据的中位数
mintimeseries 数据的最小值
stdtimeseries 数据的标准差
sumtimeseries 数据的和
vartimeseries 数据的方差

示例

全部折叠

创建一个具有 5 个标量数据样本的 timeseries 对象,指定该 timeseries 的名称。然后显示采样时间和数据值。

ts1 = timeseries(([5 10 15 20 25])',"Name","MyTimeSeries")
  timeseries

  Common Properties:
            Name: 'MyTimeSeries'
            Time: [5x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [5x1 double]
        DataInfo: tsdata.datametadata
ts1.Time
ans = 5×1

     0
     1
     2
     3
     4

ts1.Data
ans = 5×1

     5
    10
    15
    20
    25

创建一个具有 5 个数据样本的 timeseries,其中每个样本是一个长度为 2 的列向量。因此,有两个采样时间,从零秒开始。

ts2 = timeseries(rand(2,5))
  timeseries

  Common Properties:
            Name: 'unnamed'
            Time: [2x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [2x5 double]
        DataInfo: tsdata.datametadata
ts2.Time
ans = 2×1

     0
     1

创建一个具有 5 个数据样本(以 10 秒为间隔进行采样)的 timeseries

ts3 = timeseries((1:5)',[0 10 20 30 40])
  timeseries

  Common Properties:
            Name: 'unnamed'
            Time: [5x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [5x1 double]
        DataInfo: tsdata.datametadata
ts3.Time
ans = 5×1

     0
    10
    20
    30
    40

ts3.TimeInfo
  tsdata.timemetadata
  Package: tsdata

  Uniform Time:
    Length       5
    Increment    10 seconds

  Time Range:
    Start        0 seconds
    End          40 seconds

  Common Properties:
          Units: 'seconds'
         Format: ''
      StartDate: ''

版本历史记录

在 R2006a 之前推出

全部展开