大家好,我对python已经很熟悉了,但这是我第一次使用python进行数据分析,我想知道您是否可以就我遇到的一个问题提供一些帮助。
我需要将大约4000个不同的图拟合到下面的函数中:b+e*A*(1.19104*(10**-16))*((x*(10**-9))**-5)*((-1+np.exp(0.0143878/(T*x*(10**-9))))**-1)在这个函数中,我想将b,e和A限制为每个图的特定值,变量T的值根据数据移动。
我试着使用scipy optimize,但我不知道如何使用它来保存参数。
我尝试使用pyAstronomy函数,但是它的效率非常低(或者我的代码是idk),并且我得不到与我应该得到的数据大致相同的数据。
最后,我目前正在尝试使用lmfit,但我的代码似乎让所有参数都与猜测相同,并且没有任何变化。我对如何继续下去感到困惑。我当前的代码看起来像这样...
def bbnm(x,b,e,T,A):
y = b+e*A*(1.19104*(10**-16))*((x*(10**-9))**-5)*((-1+np.exp(0.0143878/(T*x*(10**-9))))**-1)
return y
params = bbmodel.make_params(b=0,e=.99,T=5100,A=wgeometry)
params['b'].vary = False
params['e'].vary = False
params['A'].vary = False
params['T'].vary = True
bb = bbmodel.fit(power[1465:2510],params,x=wavelength[1465:2510])https://stackoverflow.com/questions/51293922
复制相似问题