# 示例代码:使用Scipy库进行曲线拟合
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
# 定义一个函数,用于拟合数据
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# 生成一些示例数据
x_data = np.linspace(0, 4, 50)
y_data = func(x_data, 2.5, 1.3, 0.5) + 0.2 * np.random.normal(size=len(x_data))
# 使用curve_fit进行拟合
popt, pcov = curve_fit(func, x_data, y_data)
# 打印拟合参数
print("拟合参数: a=%5.3f, b=%5.3f, c=%5.3f" % tuple(popt))
# 绘制原始数据和拟合曲线
plt.figure()
plt.plot(x_data, y_data, 'b-', label='数据')
plt.plot(x_data, func(x_data, *popt), 'r-', label='拟合曲线')
plt.legend()
plt.show()
numpy
、scipy.optimize.curve_fit
以及matplotlib.pyplot
。numpy
用于生成数据,curve_fit
用于拟合数据,matplotlib
用于绘制图形。func
是我们要拟合的函数形式,这里是一个指数衰减函数。x_data
是自变量,y_data
是因变量,其中加入了一些随机噪声以模拟真实数据。curve_fit
对数据进行拟合,得到最优参数popt
和协方差矩阵pcov
。上一篇:python 斐波那契数列
下一篇:python程序运行
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站