SciPy polyfit拟合二次曲线
时间: 2024-06-08 11:12:01 浏览: 179
二次曲面拟合
3星 · 编辑精心推荐
SciPy库中的polyfit函数可以用来拟合多项式曲线,其中包括二次曲线。下面是一个简单的例子:
```python
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
# 生成一些随机数据
x_data = np.linspace(-5, 5, num=50)
y_data = 2.5 * x_data**2 - 1.8 * x_data + 3.2 + np.random.normal(size=len(x_data))
# 定义二次函数模型
def quadratic(x, a, b, c):
return a * x**2 + b * x + c
# 使用curve_fit函数拟合数据
popt, pcov = curve_fit(quadratic, x_data, y_data)
# 得到拟合系数
a, b, c = popt
# 绘制拟合曲线和原始数据
plt.plot(x_data, y_data, 'bo', label='Original Data')
plt.plot(x_data, quadratic(x_data, a, b, c), 'r-', label='Fitted Curve')
plt.legend()
plt.show()
```
在这个例子中,我们首先生成了一些随机数据,然后定义了一个二次函数模型。接下来使用curve_fit函数拟合数据,并得到拟合系数。最后,我们绘制了原始数据和拟合曲线。
阅读全文