Python:找到曲线的半高宽 [英] Python: Find FWHM of curve

查看:903
本文介绍了Python:找到曲线的半高宽的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试找到此曲线的半高宽:

I'm trying to find the FWHM of this curve:

array([  7.83891873e+10,   1.01884187e+11,   1.41597108e+11,
         2.13425504e+11,   3.62335668e+11,   6.58172740e+11,
         1.49147209e+12,   3.67126510e+12,   9.13961052e+12,
         1.51912641e+13,   1.56449601e+13,   8.75926436e+12,
         3.51770483e+12,   1.44762974e+12,   6.03263316e+11,
         3.14433592e+11,   1.93097056e+11,   1.37103090e+11,
         1.03367989e+11,   8.62706418e+10])

我已经尝试过了,但是似乎没有用.

I've tried this, but it does not seem to work.

x = np.arange(20)
y = array
max_y = max(y)  # Find the maximum y value
max_x = x[y.index(max_y/2)]  # Find the x value corresponding to the maximum y value
print max_x, max_y

推荐答案

y=array([  7.83891873e+10,   1.01884187e+11,   1.41597108e+11,
         2.13425504e+11,   3.62335668e+11,   6.58172740e+11,
         1.49147209e+12,   3.67126510e+12,   9.13961052e+12,
         1.51912641e+13,   1.56449601e+13,   8.75926436e+12,
         3.51770483e+12,   1.44762974e+12,   6.03263316e+11,
         3.14433592e+11,   1.93097056e+11,   1.37103090e+11,
         1.03367989e+11,   8.62706418e+10])

max_y = max(y)  # Find the maximum y value
xs = [x for x in range(20) if y[x] > max_y/2.0]
print min(xs), max(xs) # Print the points at half-maximum

这篇关于Python:找到曲线的半高宽的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆