当前位置: 首页 > 知识库问答 >
问题:

如何在Matlab中识别时间序列数据中的重复模式

后烨煜
2023-03-14

我正在使用Matlab计算ENSO指数,一个条件是我必须找到异常的海面温度。条件是,厄尔尼诺事件的特征是海面温度在5个月内高于标准化“0值”0.5度。我已经尽可能使我的月度时间序列数据具有逻辑性(即,“1”是高于0.5的月度数据值,“0”是低于0.5的月度数据值),但我想知道Matlab中是否有命令允许我识别该值何时重复5次或更多。

作为示例代码:

Monthly_data=[0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0]

理想情况下,我需要一个命令,该命令可以发现每个命令后面至少出现五个“1”。这是否存在?

如果需要更多信息,请告诉我,我是matlab的新手,所以我还不确定在这里提问的结构和语法。

非常感谢。

共有1个答案

丌官寒
2023-03-14

不确定这是你需要的,但可能会给你一些指导。

> x = diff(Monthly_data);
> find(x==-1)-find(x==1)
ans =

   5   2   1   7

这些是序列的长度。您可能需要用0填充数组的前端和末端,以消除缺少一个边界的序列。

要查找大于5的序列的开始索引:

> s=find(x==1);
> s(find(x==-1)-s>5)
ans =  18

> s(find(x==-1)-s>=5)
ans =

    2   18

请注意,由于差异滞后,这些比数组索引多一个,或者将其视为从零开始索引的位置。

 类似资料:
  • 问题内容: 是否可以使用python获取哪些值在列表中重复? 我有一个项目清单: 我知道删除重复项的最佳方法是,但是是否可以知道正在重复哪些值?如您所见,在此列表中,重复项是第一个和最后一个值。。 是否有可能获得此结果或python中类似的东西?我正在努力避免做出荒谬的大条件声明。 问题答案: 这些答案是O(n),因此比使用的代码多一点,但随着时间的延长,效率会大大提高 如果您只想知道重复项,请使

  • 我正在准备一个应用程序来使用Twitter REST API发送推文。我想警告(重复推文)用户,如果他们尝试发送已从我的应用程序提交的推文。 推特表示需要重复推文- 对于每次更新尝试,都会将更新文本与身份验证用户最近的推文进行比较。任何可能导致重复的尝试都将被阻止,从而导致 403 错误。因此,用户不能连续两次提交相同的状态。 推特如何收集最近的推文? 时间间隔 不。用户的最新推文 推特上没有可用

  • 我对Python是新手。我有以下代码:

  • 我正在研究一个用于存储时间序列的卡桑德拉数据模型(我是卡桑德拉新手)。我有两个应用程序:日内股票数据和传感器数据。 库存数据将以一分钟的时间分辨率保存。七个数据字段构建一个时间框架:符号、日期时间、开盘、高位、低位、收盘、成交量 我将主要通过符号和日期来查询数据。例如,给我2013年1月1日到2013年1月31日之间按日期时间排序的AAPL的所有数据。cassandra查询的建议是查询整列。所以你

  • 我的任务是使用MATLAB和任何神经网络框架对时间序列数据进行分类。 更具体地描述任务:是计算机视觉领域的一个问题。Is是一项场景边界检测任务。 源数据是来自视频流的4个相邻帧直方图相关阵列。基于此数据,我们必须将此时间序列分为两类: “场景中断” “没有场景中断” 因此,每个源数据输入的网络输入是4个双倍值,输出是一个二进制值。我将在下面展示src数据的示例: 问题是,来自Matlab神经工具箱