0

特定の曲線にデータを当てはめています。モデル ラムダ関数があり、その最大点の正確な座標 (x,y) を取得したいと考えています。最大値を知ることはできますが、x 軸の位置も知る必要があります。それは可能ですか?

事前にご協力いただきありがとうございます。

   from pylab import *
   from scipy import optimize

   fitf = lambda f, x: f[0]*(1/(1+((x-f[1])/f[2])**2))
   errf = lambda f, x, y: fitf(f, x) - y 
   f0 = [0, 1, 2] 
   f1, success = optimize.leastsq(errf, f0[:], args=(x, y))

   pos = linspace(100, 100, 1000)
   max = fitf_voigt(f1, pos).max()

   print 'Peak max = %f' %max

args(x, y) は私の実験データから来ています。

4

1 に答える 1

0

argmax関数を使用して最大値の位置を取得できます。

In [1]: import numpy as np
In [2]: x = np.random.randn(100)
In [3]: x.max()
Out[3]: 2.6054091710887723 
In [4]: x.argmax()
Out[4]: 27
In [5]: x[27]
Out[5]: 2.6054091710887723
In [6]: x[27] == x.max()
Out[6]: True
于 2013-08-08T15:08:54.020 に答える