【问题标题】:Removing non-matching dates from two time series in matlab从matlab中的两个时间序列中删除不匹配的日期
【发布时间】:2015-07-07 13:06:54
【问题描述】:

我有两个时间序列 x 和 y,它们大致涵盖了相同的时间段。数据是每日形式的,但是有些日子在一个数据集中有数据,而在另一个数据集中没有数据。我希望使用 matlab 创建两个大小相同且日期匹配的数据集。本质上,我希望删除在 x 和 y 中都没有数据的日子。有没有一种简单的方法可以做到这一点?谢谢。

【问题讨论】:

  • 也许你可以遍历一个时间序列(比如 x),并将 ismember() 函数应用于另一个(比如 y)

标签: matlab


【解决方案1】:

如果您能够将时间序列转换为数据集,您可以使用内部连接参见 help join。如果不是,你可以使用 ismember 函数,但这次你应该只在日期上做。

【讨论】:

    【解决方案2】:

    这样的事情会起作用:

    a = {'2015-01-01', '2015-02-02', '2015-03-03'};
    b = {'2015-01-01', '2015-03-03', '2015-04-04'};
    
    newA = a(ismember(a,b));
    newB = b(ismember(b,a));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-11
      • 2018-08-20
      • 1970-01-01
      • 2021-09-13
      • 2015-07-11
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      相关资源
      最近更新 更多