python 曲线拟合
时间: 2023-11-01 14:57:40 浏览: 84
Python 做曲线拟合和求积分的方法
5星 · 资源好评率100%
python中的曲线拟合可以使用scipy库的curve_fit()函数。该函数使用非线性最小二乘法将给定的函数进行拟合。可以通过提供xdata和ydata来进行拟合。如果需要初始化参数,可以使用参数p0。下面是一个使用curve_fit()函数进行一元二次多项式拟合的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
ti = [1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8]
yi = [33.40, 79.50, 122.65, 159.05, 189.15, 214.15, 238.65, 252.2, 267.55, 280.50, 296.65, 301.65, 310.4, 318.15, 325.15]
def func(x, a, b, c):
return a * x**2 + b * x + c
z1 = np.polyfit(ti, yi, 2)
print(z1)
popt, pcov = curve_fit(func, ti, yi)
print(popt)
```
在上述代码中,首先使用np.polyfit()函数进行二次多项式拟合。然后使用curve_fit()函数使用定义的func函数进行拟合。最终得到的popt就是拟合参数的最佳值,而pcov则代表参数的协方差矩阵。
同时,你还可以使用matplotlib库将拟合曲线和原始数据进行可视化展示。
阅读全文