【发布时间】:2018-10-14 14:17:27
【问题描述】:
我有一个关于 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
【问题讨论】:
-
那么你到底做了什么?显示一些代码。
-
不要评论代码。出于这个确切原因,您的问题下方有一个编辑按钮。请把它变成一个遵循网站规则的完整的可回答问题。
-
我的错!我现在更新了。希望这会更好
-
您的实际输入是什么?它们有多大,尺寸代表什么?即,您认为代码在做什么? (回答问题并在完成后使用 cmets ping 我)
-
谢谢,我现在详细说明了。
标签: matlab threshold significance