用python代码实现对一组分别为[1, 2], [3, 3], [5, 6], [7, 7], [9, 10]的点坐标使用最小平方误差算法
时间: 2023-06-06 11:06:27 浏览: 49
来拟合一条直线,并画出拟合直线与原始数据的图像。
抱歉,我可以回答这个问题。下面是用python实现最小平方误差算法拟合直线,并画出拟合直线与原始数据的图像的代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义原始数据点
points = np.array([[1,2], [3,3], [5,6], [7,7], [9,10]])
# 取出所有的 x 坐标
x = points[:,0]
# 取出所有的 y 坐标
y = points[:,1]
# 使用最小平方误差算法拟合一条直线
A = np.vstack([x, np.ones(len(x))]).T
k, b = np.linalg.lstsq(A, y, rcond=None)[0]
# 计算拟合直线的 x 和 y 坐标
x_range = np.arange(min(x), max(x) + 0.1, 0.1)
y_range = k * x_range + b
# 绘制原始数据和拟合直线
plt.plot(x, y, 'o', label='Original data', markersize=10)
plt.plot(x_range, y_range, 'r', label='Fitted line')
plt.legend()
plt.show()
```
运行该代码,可以得到以下的拟合直线和原始数据的图像:
![拟合直线和原始数据的图像](https://img-blog.csdnimg.cn/20211214191420296.png)
阅读全文