python拟合函数_Python使用lmfit拟合函数

我试图使用lmfit,但得到的参数是零星的结果:import numpy as np

import scipy.stats as sp

from scipy.optimize import curve_fit

from lmfit import minimize, Parameters, Parameter, report_fit

x = [0.01,

0.02,

0.03,

0.04,

0.05,

0.06,

0.07,

0.08,

0.09,

0.1,

0.2,

0.3,

0.4,

0.5,

0.6,

0.7,

0.8,

0.9,

0.99999999,]

#some paramters to try to estimate

sigma1 = 6

scale1 = np.exp(5)

#generate values to use to fit

y = sp.lognorm(sigma1,scale=scale1).ppf(x)

#function set-up to use in lmfit

def invlognorm(params,x,data):

sigma = params['sigma']

mu = params['mu']

model = sp.lognorm(sigma,scale=mu).ppf(x)

return model - data

params = Parameters()

params.add('sigma', value= 1,)

params.add('mu', value= 1, )

# do fit, here with leastsq model

result = minimize(invlognorm,params, method = 'least-squares',args=(x, y))

最后检查结果

^{pr2}$

但这些与原始价值相差甚远。在

这里发生了什么事,有什么帮助吗?我怎样才能解决这个问题,从而得出合理的结果?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值