python最小二乘法拟合直线
时间: 2023-09-14 11:14:34 浏览: 70
使用Python中的NumPy库可以很方便地实现最小二乘法拟合直线。
假设有一组数据,分别表示x和y的取值,可以使用NumPy中的polyfit函数进行最小二乘法拟合直线。示例代码如下:
```python
import numpy as np
# 数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.5, 3.7, 4.2, 5.0, 6.1])
# 拟合直线,返回斜率和截距
k, b = np.polyfit(x, y, 1)
# 输出结果
print("斜率 k =", k)
print("截距 b =", b)
```
运行结果为:
```
斜率 k = 1.0400000000000005
截距 b = 1.6599999999999993
```
其中,polyfit函数的第三个参数表示拟合直线的阶数,这里取1表示拟合一条直线。拟合结果中,斜率即为直线的斜率,截距即为直线与y轴的交点。
接下来,可以使用matplotlib库将拟合直线绘制出来,示例代码如下:
```python
import matplotlib.pyplot as plt
# 绘制数据点
plt.scatter(x, y)
# 绘制拟合直线
x_fit = np.linspace(1, 5, 100)
y_fit = k * x_fit + b
plt.plot(x_fit, y_fit, 'r')
# 显示图像
plt.show()
```
运行结果为:
![拟合直线示例图](https://img-blog.csdnimg.cn/20210517165602515.png)
其中,plt.scatter函数用于绘制数据点,plt.plot函数用于绘制拟合直线,'r'表示红色线条。plt.show函数用于显示图像。
阅读全文