发布时间:2022-11-29 14:30
import scipy
from scipy import optimize
# 拟合函数
def fit_log():
y = [0.02584549571121697, 0.024714675534516672, 0.02399003837250635, 0.03367196131526129, 0.023607021803375372] # 替换为自己的数据
x = np.array(range(1, len(y)+1, 1)) # 生成x轴
log = scipy.optimize.curve_fit(lambda t, a, b: a+b * np.log(t), x, y) #
para = np.array(log[0])
print('拟合的log函数为:' + str(para[1]) + '*np.log(x)+'+str(para[0]))
return para
# 验证函数
def log_x(para, x):
y = para[1] * np.log(x) + para[0]
return y
a = fit_log()
print(log_x(a, 1)) # 输出第一个数据与原始数据对比是否相差不大