【问题标题】:How do I match up dates of two matrices and find subsequent data in Matlab?如何匹配两个矩阵的日期并在 Matlab 中查找后续数据?
【发布时间】:2016-08-21 02:09:37
【问题描述】:

我有两个包含不同日期的矩阵(在 Matlab 时间)。数据是每日的,并且对于两个矩阵都是按时间顺序排列的。第一个矩阵的范围是从 1948 年到 2015 年。第二个矩阵的范围是 2004-2012 年。如何从矩阵 2 中找到矩阵 1 的索引(和相关日期)(即从 1948-2015 矩阵中仅获取 2004-2012 日期)?我最终需要这样做以从矩阵1中获取与矩阵2的时间段相对应的数据(即(1948-2012缩短为2004-2012时间段)。

示例数据:

Matrix 1: [711493
711494
711495
711496
711497
...]

Matrix 2: [732113
732114
732115
732116
732117
...]   

Matrix 2 data: [2.02728476987546
1.19049470851012
1.74428201430610
1.91262806946072
1.32636277791079
...]

【问题讨论】:

    标签: matlab date matrix indexing


    【解决方案1】:

    您可以通过首先找到矩阵 2 中的最小和最大日期来获取矩阵 1 的索引,该索引位于矩阵 2 的日期范围内,然后从矩阵 1 生成一个逻辑数组并使用 find 将其转换为索引功能。

    dmin = min(Matrix2(:));
    dmax = max(Matrix2(:));
    idx = find(Matrix1 >= dmin & Matrix1 <= dmax);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      相关资源
      最近更新 更多