写一个python用于拟合数据代码
时间: 2024-06-08 11:12:26 浏览: 143
python做数据拟合
下面是一个基本的Python代码,用于拟合数据:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 定义拟合函数
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# 生成数据
x = np.linspace(0, 4, 50)
y = func(x, 2.5, 1.3, 0.5)
yn = y + 0.2 * np.random.normal(size=len(x))
# 使用curve_fit函数进行拟合
popt, pcov = curve_fit(func, x, yn)
# 绘制原始数据和拟合曲线
plt.plot(x, yn, 'bo', label='Original Data')
plt.plot(x, func(x, *popt), 'r-', label='Fitted Curve')
plt.legend()
plt.show()
```
在这个例子中,我们定义了一个拟合函数,然后生成了一些数据。然后,我们使用 `curve_fit` 函数进行拟合,该函数需要输入拟合函数、自变量和因变量。它返回一组最佳拟合参数和协方差矩阵,可以用于评估拟合结果的质量。最后,我们将原始数据和拟合曲线绘制在同一张图上,以便比较它们。
阅读全文