python最小二乘拟合曲线
时间: 2023-07-05 10:17:46 浏览: 164
pcir.rar_site:www.pudn.com_二乘法 曲线_最小 二乘法 曲线拟合_最小二乘_最小二乘法 c
Python中可以使用SciPy库中的`curve_fit`函数进行最小二乘拟合曲线。
下面是一个简单的例子,假设我们有一组数据点`(x,y)`,我们想要拟合一条直线来表示这些数据。我们可以按照以下步骤进行:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义拟合函数
def linear_func(x, a, b):
return a * x + b
# 定义数据
x_data = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y_data = np.array([2.0, 3.5, 5.2, 6.8, 8.5])
# 进行最小二乘拟合
popt, pcov = curve_fit(linear_func, x_data, y_data)
# 输出拟合参数
print('a =', popt[0], 'b =', popt[1])
# 绘制拟合曲线
import matplotlib.pyplot as plt
plt.scatter(x_data, y_data)
plt.plot(x_data, linear_func(x_data, *popt), color='red')
plt.show()
```
在上面的代码中,我们首先定义了一个拟合函数`linear_func`,它是一个一次函数,即直线。然后我们定义了一组数据点`(x_data, y_data)`,接着使用`curve_fit`函数进行最小二乘拟合,得到拟合参数`popt`和协方差矩阵`pcov`。最后我们使用Matplotlib库绘制出原始数据点和拟合曲线。
阅读全文