MATLAB 中时间表的应用

2025 年 7 月 28 日 | 阅读 7 分钟

引言

MATLAB 中的 Timetables 数据类型是一种专门的结构,用于存储和处理包含时间戳信息的数据。Timetables 扩展的数据结构提供了优化的基于时间的索引功能,使其成为基于时间的数据集的最佳解决方案。

Timetable 包含对应于每一行的特定于时间的数据点,其中每一行都显示日期时间或持续时间值。表结构提供了数据存储效率以及执行与时间相关的任务的系统,包括排序操作、同步和基于时间的计算。Timetables 为研究任何事件中的基于时间的数据模式和趋势提供了最佳能力。

主要特点

  • 时间感知数据存储:时间感知数据存储中的时间键方法使每个数据库行都能接收唯一的时间标识符,从而使所有操作直接绑定到时间。系统接受多种时间格式,包括日期和时间以及时间间隔。
  • 多变量支持:Timetable 接受其列中的各种数据类型,包括数字数组以及文本和分类信息,从而实现了多样化的分析可能性。
  • 高效数据操作:内置函数允许用户高效地执行数据过滤、排序、聚合和面向时间间隔的操作。该软件使用户能够执行重采样和插值,以及同步不同 timetable 之间的数据。
  • 与 MATLAB 函数集成:MATLAB 函数与 Timetables 完美集成,从而增强了其在各种应用中的实用性。

应用

  • 工程:工程师通过物联网网络和工业控制系统实时监控运行中的系统传感器数据。分析模拟时间序列数据,收集结构动力学和热性能方面的数据。
  • 金融:金融组织利用MATLAB 来管理股价、货币汇率和其他基于时间的金融数据。经济模型需要计算移动平均值、波动率测量值以及其他多个指标。
  • 科学数据分析:科学数据分析包括对实验数据的处理和分析,从而提供温度测量和化学反应时间序列信息。研究环境模式的科学研究人员通过将数据系列分组到不同时期来查看完整的气候变化趋势。

这些灵活的时间管理工具成为精密时间敏感计算的基本资产,因为它们与 MATLAB 的数据处理环境无缝集成。

在 MATLAB 中创建 Timetables

MATLAB 平台通过其 timetable 操作提供了处理带时间戳数据的优化解决方案。该程序允许用户创建具有特定于时间的行的数据库。

基本语法

要生成 MATLAB 中的 timetable,用户必须执行与 timetable 函数关联的语法。这是通用结构

  • 时间:时间戳依赖于两个元素,它们是 datetime 数组或 duration 数组。
  • Var1, Var2, ...:分配的数据数组与每个时间戳同时运行。
  • “VariableNames”:(可选) 时间表变量的名称。

输入类型

Timetables 支持多种数据录入格式,使其可用于多种数据集

1. Datetime 输入

  • MATLAB 中的 DateTime 函数有助于生成用于构造数组的时间戳。

2. 数字数据

  • 调度系统支持数字结构数组作为其功能的一部分,包括传感器输出和金融数据集。

3. 分类数据

  • 使用分类数组可以有效处理特定的数据集类型,包括离散测量,如与天气相关的参数。

4. 混合数据类型

  • Timetable 接受包括数字数据、分类值和各种其他类型在内的输入数据。

示例

示例 1:创建简单的 Timetable

根据此演示,可以有效地构建一个结合了数值输入和分类数据结构的 timetable。

输出

 
      Time                  Temperature    Weather
    ____________    __________    _______
    01-Jan-2025               20.1            Sunny 
    02-Jan-2025               21.3            Cloudy
    03-Jan-2025               19.8            Rainy 
    04-Jan-2025               22.4            Sunny 
    05-Jan-2025               20.0            Sunny 
    06-Jan-2025               21.7           Cloudy
    07-Jan-2025               22.1           Rainy 
    08-Jan-2025               23.3           Sunny 
    09-Jan-2025               21.2           Cloudy
    10-Jan-2025               20.5           Sunny    

示例 2:创建复杂的 Timetable

以下示例展示了如何创建包含补充数据类型的 timetable。

输出

 
         Time                     Temperature    WindSpeed    Weather
    ______________    ___________    _________    _______
    01-Feb-2025 00:00          15.2                  5.2              Clear 
    01-Feb-2025 06:00          16.4                  6.3              Cloudy
    01-Feb-2025 12:00          17.1                  7.1               Rainy 
    01-Feb-2025 18:00          14.8                  4.8               Clear 
    02-Feb-2025 00:00          15.9                  5.6                Sunny    

操作 MATLAB 中的 Timetables

MATLAB 提供了灵活的软件功能,可以最高效地处理基于时间的信息。

1. 添加和删除变量

添加变量

  • 通过将基于时间的行分配给新数据列(变量),可以轻松添加 timetable。
  • 您可以通过点运算符 (.) 和索引在 MATLAB 中定义和插入变量。

示例:添加变量

删除变量

  • 可以通过 removevars 函数以及手动重新分配 timetable 来删除基于时间的数据变量。

示例:删除变量

2. 过滤行

行过滤是检索满足特定标准的数据部分或基于时间的数据子集的一种常用过程。MATLAB 中提供的逻辑索引和关系运算符使用户能够执行此任务。

示例:基于时间过滤行

示例:基于条件过滤行

可以通过逻辑运算符 (&) 或 (|) 组合多个过滤条件。

3. 排序和重排

分析受益于正确的组织,因为数据遵循 timetable 系统中的特定排序和重排过程。该应用程序提供了根据时间和附加变量值对行进行排序的功能。

按时间排序(默认行为)

  • 在使用 timetable 的时间顺序结构时,您可以使用 sortrows 自动化正确的排列。

示例:按时间排序

按变量排序

  • 除了时间变量之外,还可以根据非时间变量(如温度或湿度)对 timetable 进行排序。

示例:按变量排序

同步 MATLAB 中的 Timetables

MATLAB timetables 提供了处理带时间戳信息的全面能力。同步过程允许不同的时间向量从不同的 timetables 保持一致的操作对齐。

1. 合并多个 Timetables

合并多个 timetable 的过程在研究人员处理通过变量收集周期或不同信息源获得的数据时,需要时间向量对齐。内置的 MATLAB 函数提供了实现此操作的工具。

  • synchronize 函数:时间表对齐通过 synchronize 函数进行,通过使用时间戳来联合他们的数据行。该软件通过指定的插值和填充方法填充缺失的数据。

语法

  • TT1 和 TT2 是输入 timetable。
  • “union”操作合并了两个输入 timetable 中所有可用时间点。
  • 当用户选择“linear”时,线性插值成为填充数据空白的方法。

示例

同步选项

  • “inner”:仅包含共同的时间点。
  • 在此方法下,算法包含所有时间点,并为所有缺失数据条目添加插值。
  • 使用此方法时,第一个 timetable 的时间向量定义了左对齐。
  • “right”:对齐到第二个 timetable 的时间向量。

2. 重采样和插值

当两个表之间的时间戳不同时,会在重采样期间发生数据同步,因为它会创建统一的时间间隔以供分析。插值过程通过插值方法估计间隙和缺失值。

  • retime 函数:retime 函数允许用户在执行聚合或插值时更改时间帧。

语法:

  • “regular”对 timetable 中的时间数据点进行重采样,直到它们达到统一的时间间隔。
  • “mean”计算每个新时间间隔的平均值。
  • “TimeStep”设置重采样间隔。

示例:

3. 基于时间的操作

在同步 timetable 后,可以对时间对齐的数据应用多种计算。

  • 算术运算:将乘法和除法运算符以及其他数学运算应用于 timetable 对象中找到的变量。
  • 聚合函数:可以使用 mean、sum 和 max 等函数处理时间间隔。
  • 自定义计算:您应该开发特定函数来处理已同步的数据。
  • 同步后检查时间向量对齐对于保持数据可靠性至关重要。
  • 您应该根据数据特性从三种插值选项中进行选择,包括线性、最近邻和前一个方法。
  • 操作应采用逻辑索引和过滤,以便仅在相关的时间段内工作。