Python:找到曲线的FWHM

时间:2015-04-26 12:09:16

标签: python math

我正试图找到这条曲线的FWHM:

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])

enter image description here 我试过这个,但它似乎没有用。

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

1 个答案:

答案 0 :(得分:2)

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