python使用5个点进行最小二乘拟合曲线
时间: 2024-02-12 20:02:55 浏览: 142
Python基于最小二乘法实现曲线拟合示例
同样可以使用SciPy库中的`curve_fit`函数进行最小二乘拟合曲线。如果我们只有5个数据点,可以按照以下步骤进行:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义拟合函数-二次函数
def quadratic_func(x, a, b, c):
return a * x**2 + b * x + c
# 定义数据
x_data = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y_data = np.array([2.0, 4.5, 9.0, 15.5, 24.0])
# 进行最小二乘拟合
popt, pcov = curve_fit(quadratic_func, x_data, y_data)
# 输出拟合参数
print('a =', popt[0], 'b =', popt[1], 'c =', popt[2])
# 绘制拟合曲线
import matplotlib.pyplot as plt
plt.scatter(x_data, y_data)
x_range = np.linspace(0, 6, 100) # 定义横坐标范围
plt.plot(x_range, quadratic_func(x_range, *popt), color='red')
plt.show()
```
在上面的代码中,我们定义了一个二次函数作为拟合函数`quadratic_func`。然后我们定义了一组数据点`(x_data, y_data)`,接着使用`curve_fit`函数进行最小二乘拟合,得到拟合参数`popt`和协方差矩阵`pcov`。最后我们使用Matplotlib库绘制出原始数据点和拟合曲线。
阅读全文