首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >怎样才能最大限度地得到宽度?

怎样才能最大限度地得到宽度?
EN

Stack Overflow用户
提问于 2022-06-09 14:19:46
回答 1查看 62关注 0票数 0

我试图计算最大宽度,但当使用peak_widths时,它返回信号中的所有峰值宽度。

代码语言:javascript
运行
复制
    from scipy.signal import chirp, find_peaks, peak_widths
    import matplotlib.pyplot as plt

    x = np.linspace(0, 6 * np.pi, 1000)
    y = np.sin(x) + 0.6 * np.sin(2.6 * x)
    peaks, _ = find_peaks(y)
    results_half = peak_widths(y, peaks, rel_height=0.5)
    results_half[0]
    plt.plot(y)
    plt.plot(peaks, y[peaks], "x")


    plt.hlines(*results_half[1:], color="C2")
    plt.show()

这是来自https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.peak_widths.html的示例

我只想得到最大的宽度。

我想使用最大峰值位置的索引来找到最大峰值的fwhm。如何才能找到相应的最大宽度?

代码语言:javascript
运行
复制
    i_max_peak = peaks[np.argmax(y[peaks])]
    y_max =y[i_max_peak]

我想得到最大峰值的宽度值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-09 15:02:07

我想你已经走了一半了。

您已经用[np.argmax(y[peaks])]获得了最大峰值的索引,剩下的是从results_half[0]获取宽度

所以,我相信这会给你你想要的:

代码语言:javascript
运行
复制
max_peak_loc = np.argmax(y[peaks])
widths = results_half[0] 
widths[max_peak_loc]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72561977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档