Python 多项式拟合
时间: 2023-06-27 08:01:38 浏览: 165
Python 多项式拟合可以使用 NumPy 和 Matplotlib 库进行实现。其中,NumPy 提供了多项式拟合函数 polyfit(),可以通过选择不同的拟合次数,得到不同次数的多项式拟合结果。而 Matplotlib 则可以用来绘制拟合后的曲线。下面是一段示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义 x 和 y
x = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([2.0, 3.0, 5.0, 8.0, 12.0])
# 多项式拟合,拟合次数为 2
fit = np.polyfit(x, y, 2)
# 生成拟合后的曲线
x_new = np.linspace(0, 6, 100)
y_new = np.polyval(fit, x_new)
# 绘制原始数据和拟合后的曲线
plt.plot(x, y, '.', label='original data')
plt.plot(x_new, y_new, '-', label='fitting curve')
plt.legend()
plt.show()
```
这段代码中,定义了 x 和 y 两个一维数组作为原始数据。然后,使用 np.polyfit() 函数对这两组数据进行了二次多项式拟合,得到了一个一维数组 fit,其中包含了三个系数。最后,使用 np.polyval() 函数根据这个 fit 数组和一组新的 x 值,得到了对应的拟合后的 y 值,并把它们用 Matplotlib 绘制了出来。
阅读全文