python最小二乘法拟合
时间: 2023-09-24 22:08:16 浏览: 81
最小二乘法是一种常见的拟合方法,用于寻找一条曲线或一组曲线参数,使其在给定的数据点上最小化误差平方和。Python中可以使用numpy库中的polyfit函数实现最小二乘法拟合。
具体步骤如下:
1.导入numpy库,并读入数据。
```python
import numpy as np
# 读入数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
```
2.使用polyfit函数拟合数据,指定拟合的阶数(即多项式的次数)。
```python
# 拟合数据
z = np.polyfit(x, y, 1) # 拟合一次多项式
```
3.使用poly1d函数生成拟合的多项式函数。
```python
# 生成拟合的多项式函数
p = np.poly1d(z)
```
4.使用plot函数绘制数据点和拟合的曲线。
```python
import matplotlib.pyplot as plt
# 绘制数据点和拟合的曲线
plt.scatter(x, y)
plt.plot(x, p(x), color='red')
plt.show()
```
完整代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
# 读入数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# 拟合数据
z = np.polyfit(x, y, 1) # 拟合一次多项式
# 生成拟合的多项式函数
p = np.poly1d(z)
# 绘制数据点和拟合的曲线
plt.scatter(x, y)
plt.plot(x, p(x), color='red')
plt.show()
```
运行结果如下图所示:
![image.png](https://cdn.luogu.com.cn/upload/image_hosting/mzj5x7ya.png)
阅读全文