Python 拟合曲线
时间: 2023-11-05 22:50:00 浏览: 138
Python利用Python拟合函数曲线
在Python中,可以使用scipy.optimize.curve_fit()函数进行拟合曲线的操作。该函数使用非线性最小二乘法将函数进行拟合,适用于多元、任意函数的情况。具体使用方法是scipy.optimize.curve_fit(f, xdata, ydata, p0=None),其中f表示待拟合的函数,xdata和ydata分别表示自变量和因变量的数据,p0表示可选的初始化参数。
另外,你可以使用numpy库的polyfit()函数进行一元二次多项式的拟合。例如,通过传入ti和yi两个列表,可以得到一元二次多项式的拟合函数。具体代码如下所示:
```
import matplotlib.pyplot as plt
import numpy as np
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]
z1 = np.polyfit(ti, yi, 2)
print(z1)
```
运行以上代码,即可得到一元二次多项式的拟合函数的系数。
此外,你还可以使用matplotlib库来绘制拟合曲线。具体代码如下所示:
```
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
x = np.arange(0, 20)
y = 2 * x ** 2 + np.random.randint(0, 100, 20)
# 定义拟合函数
def func(x, a, b, c):
return a * x ** 2 + b * x + c
# 进行拟合
popt, pcov = curve_fit(func, x, y)
# 获取拟合参数
print(popt)
# 绘制拟合曲线
y2 = func(x, popt
阅读全文