【发布时间】:2020-08-24 06:27:21
【问题描述】:
代码:
from scipy.optimize import curve_fit
import numpy as np
from numpy import *
def func(x, a, b):
return ff(x,a,b)
ff= lambda x,a,b: eval("1/(a*x+b)")
xdata = [1 ,2, 4, 6, 8, 10]
ydata = [0.22, 0.1, 0.06, 0.04, 0.03, 0.024]
popt, pcov = curve_fit(func, xdata, ydata)
print('\n', '[a b] for the best fit = ', popt,'\n')
当它运行时它会给出
[a b] for the best fit = [ 4.62673137 -0.04794652]
同时根据我的科学计算器(或手动求解),答案应该是:
[a b] for the best fit = [ 0.9232 4.05396]
我反复测试了该程序,这不是它没有提供正确结果的唯一示例。
【问题讨论】:
标签: python scipy least-squares scipy-optimize