import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 二次函数定义
def func(x, a, b, c):
return a * x ** 2 + b * x + c
# 生成数据
x_data = np.linspace(-10, 10, 100)
y_data = func(x_data, 5, 3, 1) + np.random.normal(0, 2, 100)
# 拟合二次函数
popt, pcov = curve_fit(func, x_data, y_data)
a, b, c = popt
# 绘制原始数据和拟合曲线
plt.scatter(x_data, y_data)
plt.plot(x_data, func(x_data, *popt), color='red')
plt.xlabel('x')
plt.ylabel('y')
plt.title('二次函数拟合示例')
plt.show()
Python二次曲线拟合并绘图
最新推荐文章于 2025-04-22 15:54:34 发布