python编写最小二乘法拟合曲线
时间: 2023-07-03 09:30:49 浏览: 121
pcir.rar_site:www.pudn.com_二乘法 曲线_最小 二乘法 曲线拟合_最小二乘_最小二乘法 c
好的,下面是一个使用Python实现最小二乘法拟合曲线的示例代码。我们将使用Numpy库计算多项式拟合,并使用Matplotlib库绘制结果。以下是代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一些带有噪声的样本数据
x = np.linspace(0, 10, 50)
y = 0.5*x**2 + 2*x + 1 + np.random.normal(scale=2, size=len(x))
# 定义多项式函数
def poly_func(x, a, b, c):
return a*x**2 + b*x + c
# 使用最小二乘法拟合曲线
params, params_covariance = np.polyfit(x, y, 2)
# 绘制结果
plt.scatter(x, y, label='Data')
plt.plot(x, poly_func(x, params[0], params[1], params[2]), 'r-', label='Fit')
plt.legend()
plt.show()
```
这段代码首先使用`numpy`库生成了一些带有噪声的样本数据,然后定义了一个二次多项式函数`poly_func`。接下来,我们使用`numpy`库的`polyfit`函数来使用最小二乘法拟合曲线。最后,我们使用`matplotlib`库绘制了结果。
在这里,`polyfit`函数返回了三个参数,分别是多项式的系数。我们将这些系数传递给我们定义的多项式函数,然后使用`plot`函数绘制拟合的曲线和原始数据点。
注意,`polyfit`函数中的第三个参数2表示我们要拟合一个二次多项式。如果您想拟合其他次数的多项式,只需更改该参数即可。
阅读全文