import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 示例数据
x_data = np.linspace(0, 10, 50)
y_data = 3.5 * np.exp(-0.5 * x_data) + np.random.normal(0, 0.2, size=x_data.size)
# 定义拟合函数
def func(x, a, b):
return a * np.exp(-b * x)
# 使用 curve_fit 进行拟合
params, covariance = curve_fit(func, x_data, y_data)
# 输出拟合参数
print(f"拟合参数: a = {params[0]}, b = {params[1]}")
# 绘制原始数据和拟合曲线
plt.scatter(x_data, y_data, label='原始数据')
plt.plot(x_data, func(x_data, *params), 'r-', label='拟合曲线')
plt.legend()
plt.show()
numpy 来生成数据,matplotlib 来绘制图表,scipy.optimize.curve_fit 来进行非线性最小二乘拟合。x_data 是自变量,y_data 是因变量,其中添加了一些随机噪声来模拟真实数据。func(x, a, b) 是我们要拟合的函数形式,在这个例子中是指数衰减函数。curve_fit 函数会根据提供的数据和函数形式,自动找到最优的参数 a 和 b。上一篇:python中的split
下一篇:python字典添加键值对
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站