gompertz python实现,并拟合出参数
时间: 2024-05-13 12:20:47 浏览: 112
以下是使用Python实现Gompertz函数并拟合参数的示例代码:
```python
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
def gompertz(x, a, b, c):
return a * np.exp(-b * np.exp(-c * x))
# 生成示例数据
x_data = np.linspace(0, 10, 100)
y_data = gompertz(x_data, 1, 0.5, 0.1) + np.random.normal(0, 0.1, len(x_data))
# 拟合参数
popt, pcov = curve_fit(gompertz, x_data, y_data)
# 打印拟合参数
print('a =', popt[0])
print('b =', popt[1])
print('c =', popt[2])
# 绘制拟合曲线
plt.plot(x_data, y_data, 'b-', label='data')
plt.plot(x_data, gompertz(x_data, *popt), 'r-', label='fit')
plt.legend()
plt.show()
```
在上面的示例代码中,我们首先定义了一个Gompertz函数,然后生成了一组示例数据并添加了一些高斯噪声。接下来,使用`curve_fit`函数拟合Gompertz函数的参数,并打印出拟合的结果。最后,我们绘制了原始数据和拟合曲线,以便观察拟合效果。