我已经用双高斯拟合了我的数据,现在我必须找到该拟合下的恒定面积与y-轴相交的位置。为了更好地理解我在说和搜索的内容,我提供了代码和图片。在第一块中,只有我的双高斯拟合函数。
# this is my fit function
def func(x, *params):
y = np.zeros_like(x)
for i in range(0, len(params), 3):
ctr = params[i]
amp = params[i+1]
wid = params[i+2]
y = y + amp * np.exp( -((x - ctr)/wid)**2) + amp * np.exp( -((x -
ctr+180)/wid)**2)
return y
然后我只是从外部csv文件中导入数据,该数据具有两列的值,并将它们分别寻址到x和y,我猜这是拟合的起始参数
data=np.loadtxt("test.csv")
x= data[:,0]
y= data[:,1]
guess = [20, 0.7, 30, 210, 0.7, 30, 300, 0.05, 10]
popt, pcov = curve_fit(func, x, y, p0=guess)
fit1 = func(x, *popt)
plt.plot(x, y)
plt.plot(x, fit1 , 'r-')
plt.show()
然后我收到的是合适的:
现在的问题是如何找到该交点或如何计算双高斯下的面积? (我已经在图中用绿线标记了它,因此我正在搜索该区域或至少在该线与y轴相交的位置):
您有解决此问题的想法吗?