欢迎访问宙启技术站
智能推送

使用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()

运行完整代码可以得到如下结果:

![拟合曲线函数](https://img-blog.csdnimg.cn/20220410003843687.png)

从图中可以看出,拟合曲线和数据点十分接近,验证了最小二乘法的有效性。

总体来说,使用Python实现最小二乘法拟合曲线函数非常简单,只需要准备好数据、定义拟合函数、使用curve_fit函数进行拟合,并用拟合函数画出拟合曲线即可。