python 直线拟合的完整代码
时间: 2023-10-11 22:14:12 浏览: 223
RANSAC直线拟合python代码
以下是一个使用Python的matplotlib库实现直线拟合的完整代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
x = np.linspace(0, 10, 100)
y = 2 * x + 1 + np.random.randn(100) # 加入随机噪声
# 使用最小二乘法拟合直线
coefficients = np.polyfit(x, y, 1)
p = np.poly1d(coefficients)
x_fit = np.linspace(0, 10, 100)
y_fit = p(x_fit)
# 绘制原始数据和拟合直线
plt.scatter(x, y, label='Original Data')
plt.plot(x_fit, y_fit, color='r', label='Fitted Line')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Linear Regression')
plt.legend()
plt.show()
```
这段代码中,我们使用了numpy库生成了一组随机数据,并加入了随机噪声。然后使用numpy的polyfit函数通过最小二乘法拟合直线,得到了直线的系数。接着使用poly1d函数构建了拟合直线的多项式函数,并生成了拟合直线的x和y坐标。最后使用matplotlib库绘制了原始数据和拟合直线的散点图和线图。
阅读全文