使用Python实现最小二乘法拟合曲线函数
发布时间:2023-06-20 06:27:18
最小二乘法是一种常用的数据拟合方法,通过求解数据的最小二乘误差,可以得到一条最符合数据趋势的曲线。在Python中,可以使用scipy库中的curve_fit函数来实现最小二乘法拟合曲线函数。
首先,需要准备一组数据,这里以$y=x^2+1$的形式生成一组数据,代码如下:
import numpy as np x_data = np.linspace(-1, 1, 50) y_data = x_data ** 2 + 1
接下来,需要定义拟合曲线的函数形式。这里选择二次函数$y=a x^2+b x + c$作为拟合函数,代码如下:
def func(x, a, b, c):
return a * x ** 2 + b * x + c
然后,使用scipy库中的curve_fit函数进行拟合,代码如下:
from scipy.optimize import curve_fit popt, pcov = curve_fit(func, x_data, y_data)
其中,popt为拟合函数的系数,pcov为协方差矩阵。最后,可以用拟合函数画出拟合曲线,代码如下:
import matplotlib.pyplot as plt plt.plot(x_data, y_data, 'ro', label='data') plt.plot(x_data, func(x_data, *popt), 'b-', label='fit') plt.legend() plt.show()
运行完整代码可以得到如下结果:

从图中可以看出,拟合曲线和数据点十分接近,验证了最小二乘法的有效性。
总体来说,使用Python实现最小二乘法拟合曲线函数非常简单,只需要准备好数据、定义拟合函数、使用curve_fit函数进行拟合,并用拟合函数画出拟合曲线即可。
