【发布时间】:2018-07-23 19:46:52
【问题描述】:
我想在 matlab 的 Signal 中找到第一个峰值的值。
我使用了带通滤波器并获得了我上传的信号。
然后,我需要找到峰值的第一个轴“x”值。我如何找到它?我尝试使用 'findpeaks' 功能,但我并不完全了解。
【问题讨论】:
标签: matlab
我想在 matlab 的 Signal 中找到第一个峰值的值。
我使用了带通滤波器并获得了我上传的信号。
然后,我需要找到峰值的第一个轴“x”值。我如何找到它?我尝试使用 'findpeaks' 功能,但我并不完全了解。
【问题讨论】:
标签: matlab
我认为你可以使用max:
[M,I] = max(A)
其中A 是您的信号,M 是最大值,I 是它在数组中的位置。
然后使用x(I),您可以检索其x 坐标(其中x 是x 轴上具有值的向量)。
【讨论】:
[M,I] = find(A>threshold) 的方法但是要找到一个始终有效的阈值可能会很棘手。
l=length(A)
for i=1:l-1
if((A(i)-A(i+1))<0)
continue
else
maxm=A(i);
J=i;
break
end
end
例子
A=[1 3 7 6 8 9 12 10 8]
最大值 =
7
J =
3
【讨论】: