python数据分析之曲线拟合(3):指数函数拟合

您所在的位置:网站首页 指数衰减图怎么做 python数据分析之曲线拟合(3):指数函数拟合

python数据分析之曲线拟合(3):指数函数拟合

2024-07-12 15:50| 来源: 网络整理| 查看: 265

引入

指数形式的曲线也是工程实践中经常遇到的。比如指数衰减。

处理流程 获取实验数据x, y利用scipy.optimize.curve_fit()进行指数函数拟合。 curve_fit本质是提供一个目标函数和初值,通过优化算法去搜索出最佳的拟合参数。可以提供一个初值,使得拟合更快更准。得到拟合出的系数,进行后续的数据处理。 实例

已知一组类似指数衰减数据,形如: y = a 0 e x / a 1 + a 2 y = a_0e^{x/a_1}+a_2 y=a0​ex/a1​+a2​,需拟合出系数。

import numpy as np import matplotlib.pyplot as plt import scipy.optimize as optimize pi = np.pi # 模拟生成一组实验数据 x = np.arange(0, 100, 0.2) y = np.exp(-x / 51.3) noise = np.random.uniform(0, 0.1, len(x)) y += noise fig, ax = plt.subplots() ax.plot(x, y, 'b--') # 拟合指数曲线 def target_func(x, a0, a1, a2): return a0 * np.exp(-x / a1) + a2 a0 = max(y) - min(y) a1 = x[round(len(x) / 2)] a2 = min(y) p0 = [a0, a1, a2] print(p0) para, cov = optimize.curve_fit(target_func, x, y, p0=p0) print(para) y_fit = [target_func(a, *para) for a in x] ax.plot(x, y_fit, 'g') plt.show()

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3