仅当该时间序列超过另一个时间序列时,才在该时间序列上使用 findpeaks 函数

泰杜尔

我有一个关于 findpeaks 的问题。我想用它来检测信号时间序列(信号 1)中的峰值。这工作正常,但我也有代理数据,作为重要的阈值,等长(信号 2)。我现在想在信号 1 上使用 findpeaks,但前提是信号 1 在该时间点大于信号 2。我尝试使用 findpeaks 的常规属性,但到目前为止没有任何效果......这是我现在所拥有的:

GPDC是 9x9x512 双倍。Dim 1 包含通过多变量自回归模型在 xi - xj 方向上估计的部分有向相干值,Dim 2 包含 xj -xi 的相同值,Dim 3 表示频率区间的数量。eEPDCsth是一个包含相应代理数据的 9x9x512 双精度值。f是一个包含频率值的 1x512 双精度值。我现在认为, >= 参考不起作用,因为它不是特定于时间的,即它不会逐点比较信号,而是整体比较。这是我认为的主要问题...

Sz=9;
for i=1:Sz
    for j=1:Sz
    if squeeze(GPDC(i,j,:)) >= squeeze(eEPDCsth(i,j,:))
       [pks_1{i,j},locs_1{i,j}] = findpeaks(squeeze(GPDC(i,j,:)),f,'npeaks',5,'MinPeakHeight', .1);
    end
    end
end
DMR

这是一个示例,应该可以完成您所描述的内容。您没有指定 'f' 向量的实际内容,因此在此示例中我将其设置为 1:512

% data for testing
GPDC = rand(9,9,512);
eEPDCsth = rand(9,9,512);
f = 1:512; % the value of the 'f' vector wasn't specified in question

Sz=9;
for i=1:Sz
    for j=1:Sz
        % find the 'raw' peaks below thresholding
        [peak_val_raw, peak_indices_raw] = findpeaks(squeeze(GPDC(i,j,:)),'npeaks',5,'MinPeakHeight', .1);

        % only keep peaks that are above the corresponding threshold value
        peaks_above_threshold = squeeze(GPDC(i,j,peak_indices_raw)) > squeeze(eEPDCsth(i,j,peak_indices_raw));
        peak_values_thresholded = peak_val_raw(peaks_above_threshold);
        peak_indices_thresholded = peak_indices_raw(peaks_above_threshold);

        pks_1{i,j} = peak_values_thresholded;
        % index into 'f' vector to match code in original question
        locs_1{i,j} = f(peak_indices_thresholded); 

    end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MATLAB:findpeaks函数

来自分类Dev

查找数组的峰值并创建位序列(不使用 findpeaks)

来自分类Dev

是否有一个函数可以获取熊猫数据帧时间序列上两个值之间的差异?

来自分类Dev

用另一个时间序列更新时间序列

来自分类Dev

动态时间序列函数R

来自分类Dev

每组的时间序列滚动函数

来自分类Dev

在Matlab中使用'findpeaks'之后获得频率值

来自分类Dev

如何使用Findpeaks在Matlab中正确绘制山谷

来自分类Dev

如何使用Promql获取不在另一个时间序列中的一个时间序列的数据点?

来自分类Dev

根据另一个时间序列找出熊猫序列中值的差异

来自分类Dev

如果另一个函数需要更多时间,我该如何在另一个函数完成后调用一个函数?

来自分类Dev

仅当另一个函数完成时才运行一个函数

来自分类Dev

我该如何编写一个需要一个sequence的函数,并返回一个仅包含一个元素的映射的相同序列?

来自分类Dev

在熊猫中将一个时间序列插值到另一个

来自分类Dev

将时间序列数据映射/采样到另一个时间序列 db2

来自分类Dev

如何绘制时间序列的逆函数

来自分类Dev

Python中时间序列的牛顿算法函数

来自分类Dev

使用应用于在时间序列的子集上运行函数

来自分类Dev

在R中使用ACF函数获取时间序列数据

来自分类Dev

仅当另一个函数完成时,才如何调用一个函数?(从Parse快速检索)

来自分类Dev

在R中使用海洋函数调整季节性的时间序列时的问题

来自分类Dev

函数调用另一个函数的时间复杂度?

来自分类Dev

是否可以创建一个节气门功能,该功能可以将另一个函数(也具有参数)作为参数,并设置时间延迟

来自分类Dev

是否可以创建一个节气门功能,该功能可以将另一个函数(也具有参数)作为参数,并设置时间延迟

来自分类Dev

将时间序列除以另一个不规则的时间序列

来自分类Dev

用不同的颜色绘制一个时间序列

来自分类Dev

用不同的颜色绘制一个时间序列

来自分类Dev

仅将参数传递给另一个函数的函数是否应该对该参数进行类型检查?

来自分类Dev

将特定的Arima模型应用于R中的另一个时间序列

Related 相关文章

  1. 1

    MATLAB:findpeaks函数

  2. 2

    查找数组的峰值并创建位序列(不使用 findpeaks)

  3. 3

    是否有一个函数可以获取熊猫数据帧时间序列上两个值之间的差异?

  4. 4

    用另一个时间序列更新时间序列

  5. 5

    动态时间序列函数R

  6. 6

    每组的时间序列滚动函数

  7. 7

    在Matlab中使用'findpeaks'之后获得频率值

  8. 8

    如何使用Findpeaks在Matlab中正确绘制山谷

  9. 9

    如何使用Promql获取不在另一个时间序列中的一个时间序列的数据点?

  10. 10

    根据另一个时间序列找出熊猫序列中值的差异

  11. 11

    如果另一个函数需要更多时间,我该如何在另一个函数完成后调用一个函数?

  12. 12

    仅当另一个函数完成时才运行一个函数

  13. 13

    我该如何编写一个需要一个sequence的函数,并返回一个仅包含一个元素的映射的相同序列?

  14. 14

    在熊猫中将一个时间序列插值到另一个

  15. 15

    将时间序列数据映射/采样到另一个时间序列 db2

  16. 16

    如何绘制时间序列的逆函数

  17. 17

    Python中时间序列的牛顿算法函数

  18. 18

    使用应用于在时间序列的子集上运行函数

  19. 19

    在R中使用ACF函数获取时间序列数据

  20. 20

    仅当另一个函数完成时,才如何调用一个函数?(从Parse快速检索)

  21. 21

    在R中使用海洋函数调整季节性的时间序列时的问题

  22. 22

    函数调用另一个函数的时间复杂度?

  23. 23

    是否可以创建一个节气门功能,该功能可以将另一个函数(也具有参数)作为参数,并设置时间延迟

  24. 24

    是否可以创建一个节气门功能,该功能可以将另一个函数(也具有参数)作为参数,并设置时间延迟

  25. 25

    将时间序列除以另一个不规则的时间序列

  26. 26

    用不同的颜色绘制一个时间序列

  27. 27

    用不同的颜色绘制一个时间序列

  28. 28

    仅将参数传递给另一个函数的函数是否应该对该参数进行类型检查?

  29. 29

    将特定的Arima模型应用于R中的另一个时间序列

热门标签

归档