2015-04-26 80 views
0

的FWHM我試圖找到這個曲線的FWHM:的Python:查找曲線

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 
+0

什麼是'Y = array'打算做什麼? –

+0

它導入上面顯示的數組 – Coolcrab

+0

這很奇怪。 'array([...])'不會創建一個名爲'array'的對象,因此'y = array'不會導入數組 –

回答

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)