2024-05-13 18:23:07 发布
网友
我使用scipy.optimize.basinhopping来拟合一个简单的指数函数(aexp(-btime))。我尝试进行适当的初始猜测(对于a和b),但在某些迭代中(对于某些值basinhopping猜测),会出现“exp溢出”。我知道这是因为一个很大的答案要用exp来计算。顺便说一下,结果是绝对错误的。 是否有必要要求代码忽略那些包含猜测的错误,以防止输出中出现错误的结果? +时间从0到e+06左右 谢谢你的关心和帮助
这是我的密码。运行之后,我得到了bk的一些值的溢出错误,因此ret的结果值是绝对错误的,与正确答案相差甚远。(
def model(bk): s = 0 realData = data() modelData = [] modelData.append(realData[0]) for time in range(len(realData) - 1): x = realData[0] * np.exp((bk[0] * np.exp(bk[1]*time))*time) y = 1 - realData[0] + x i = x / y modelData.append(i) s+=np.abs(i-realData[time]) return(s) def optimize(): bk0 = [1,-1] minimizer_kwargs = {"method" : "BFGS"} ret = basinhopping(model, bk0, minimizer_kwargs=minimizer_kwargs, niter=100) print(ret) optimize()
这是我的密码。运行之后,我得到了bk的一些值的溢出错误,因此ret的结果值是绝对错误的,与正确答案相差甚远。(
相关问题 更多 >
编程相关推荐