在MATLAB中如何查找信号峰值对应的X轴值 [duplicate]

我需要帮助找到峰值对应的X轴值。

有没有一种方法可以直接通过查看峰值来绘制一条线,因为这个命令给了我峰值的位置和Y轴上的值,但不幸的是我的X轴定义得不好。

因为我也使用了 x_max_value = x(indexes),但它没有给我正确的值。

我想找出第一个峰和第三个峰的X轴值之间的差异。这就是为什么我需要这个。

如何查找信号中找到的峰对应的X轴值。

我尝试过这些命令,但不幸的是没有成功。

           x_at = x( firstpeak_1_loc)           x_at = x( lastpeak_1_loc)     %     ind = find(f== lastpeak_2);      %     x(ind)

所以这就是为什么我想直接在峰值下方画一条线,以便清楚地获取X轴值。

     X = [2 3 4 5 10 7 8 9 5 6 ];     Plot(x)    [pks,locs] = findpeaks(x)

我是否可以在我找到峰值对应X轴的地方画一条垂直线,因为我对X轴的值有问题?

我想找出第一个峰和第三个峰的X轴值之间的差异。这就是为什么我需要这个。


回答:

您在’locs’中拥有峰值的索引,如果您想对峰值进行排序,请在’findpeaks’中使用排序选项:

clear;y = [2 3 4 5 10 7 8 15 5 6 ];N=length(y);x=linspace(-6,4,N); % 数据必须包含每个y的x[y_atpeak,locs] = findpeaks(y,'SortStr','descend');x_atpeak = x(locs);plot(x,y,'r-',x_atpeak,y_atpeak,'go')if length(y_atpeak)>=1    Yhighest=y_atpeak(1)endif length(y_atpeak)>=2    Ysecond=y_atpeak(2)end

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注