添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

本页翻译不是最新的。点击此处可查看最新英文版本。

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:SS 01-Mar-2000 15:45:17
dd-mmm-yyyy 01-Mar-2000
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

数据类型: 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 具有以下属性:

Dependent true

数据类型: 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 具有以下属性:

Dependent true
SetAccess 'protected'

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

Length 具有以下属性:

Dependent true
SetAccess 'protected'

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

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

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

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

Quality 具有以下属性:

Dependent true

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

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

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

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

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

Code Description 的长度必须相符。

时间值,表示为向量。

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

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

Time 具有以下属性:

Dependent true

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

  • 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
addsample timeseries 对象中添加数据样本
append 沿时间维度串联 timeseries 对象
delevent timeseries 中删除事件
delsample timeseries 对象中删除样本
detrend timeseries 对象中减去均值或最佳拟合线
filter 修改 timeseries 对象的频率成分
idealfilter timeseries 理想滤波器
plot 绘制 timeseries
resample timeseries tscollection 中的时间向量进行重采样
setabstime timeseries tscollection 时间设置为日期字符向量
setinterpmethod 设置 timeseries 对象的默认插值方法
setuniformtime 修改均匀的 timeseries 时间向量
synchronize 使用公共时间向量同步两个 timeseries 对象并重采样
getabstime timeseries tscollection 时间向量转换为元胞数组
getdatasamples 访问 timeseries 数据样本
getdatasamplesize timeseries 数据样本大小
getinterpmethod timeseries 插值方法
getqualitydesc timeseries 数据质量
getsamples timeseries 的子集
getsampleusingtime timeseries tscollection 数据的子集
gettsafteratevent 创建事件发生当时或之后的 timeseries
gettsafterevent 创建事件发生之后的 timeseries
gettsatevent 创建事件发生时的 timeseries
gettsbeforeatevent 创建事件发生时或发生之前的 timeseries
gettsbeforeevent 创建事件发生之前的 timeseries
gettsbetweenevents 创建两次事件之间的 timeseries
iqr timeseries 数据的四分位差
max timeseries 数据的最大值
mean timeseries 数据的均值
median timeseries 数据的中位数
min timeseries 数据的最小值
std timeseries 数据的标准差
sum timeseries 数据的和
var timeseries 数据的方差

示例

全部折叠

创建一个具有 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
ts1.Data
ans = 5×1

创建一个具有 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

创建一个具有 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
ts3.TimeInfo
  tsdata.timemetadata
  Namespace: tsdata
  Uniform Time:
    Length       5
    Increment    10 seconds
  Time Range:
    Start        0 seconds
    End          40 seconds
  Common Properties:
          Units: 'seconds'
         Format: ''
      StartDate: ''

版本历史记录

在 R2006a 之前推出

全部展开