我试图将一个非常复杂的(Flattened Gaussian)模型拟合到我获得的数据中。 Image for flattened Gaussian formula(我的代码中的变量fc代表vo,中心频率。)
我使用scipy.optimize import curve_fit在python中编写代码。它无法优化我的方程,并始终给出相同的参数答案。链接到数据文件:https://www.filehosting.org/file/details/795968/my-file.dat
import numpy as np
from scipy.optimize import curve_fit
x = np.loadtxt("my-file.dat")[:,0]
yres = np.loadtxt("my-file.dat")[:,1]
def flatgauss(x, A,fc,t,w):
B= ((4*(x-fc)**2)/ w**2 ) * np.log((-1/t)*np.log((1+ np.exp(-t))/2))
return -A*( (1-np.exp(-t*np.exp(B)))/ (1-np.exp(-t)) )
popt, pcov = curve_fit(flatgauss, x, yres)
print ("fitted parameters:", popt)
这就是我得到的:OptimizeWarning:参数的协方差无法估计category = OptimizeWarning)拟合参数:[1。 1. 1. 1.]
请使用scipy或您认为合适的任何其他模块来帮助我安装。 (像司仪一样)