本文介绍了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:找到曲线的半高宽的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!