【发布时间】:2013-08-08 14:11:39
【问题描述】:
我正在将数据拟合到某些曲线。 我有一个模型 lambda 函数,我想获得它最大点的精确坐标 (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) 来自我的实验数据。
【问题讨论】:
-
-
你是对的,但是功能并不重要。我发现 lambda 函数更适合试用,所以我复制了它。我刚刚缩短了函数。
-
@Lorena:您使用的是
numpy还是scipy?如果是这样,将您的问题标记为这样会很有帮助。 -
感谢@JoelCornett,我正在使用 scipy。我将同时添加标题和标签。