import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 定义一个拟合函数,例如二次多项式
def quadratic(x, a, b, c):
return a * x**2 + b * x + c
# 生成一些示例数据
x_data = np.linspace(-10, 10, 50)
y_data = quadratic(x_data, 1, -2, 5) + np.random.normal(0, 10, size=x_data.size)
# 使用curve_fit进行拟合
params, covariance = curve_fit(quadratic, x_data, y_data)
# 输出拟合参数
print(f"拟合参数: a={params[0]}, b={params[1]}, c={params[2]}")
# 绘制原始数据和拟合曲线
plt.scatter(x_data, y_data, label='原始数据')
x_fit = np.linspace(min(x_data), max(x_data), 100)
y_fit = quadratic(x_fit, *params)
plt.plot(x_fit, y_fit, 'r-', label='拟合曲线')
plt.legend()
plt.show()
numpy来处理数组和数学运算,matplotlib来绘制图形,scipy.optimize.curve_fit来进行曲线拟合。quadratic,它接受三个参数a, b, c,用于描述二次项、一次项和常数项。curve_fit函数对生成的数据进行拟合,返回拟合参数和协方差矩阵。下一篇:python解压rar文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站