【发布时间】:2021-07-31 22:19:12
【问题描述】:
大家好, 我试图在 Python 中拟合双指数衰减函数的曲线。我使用的代码如下。我不知道为什么我会得到一条直线。欢迎对我的代码提供任何帮助和建议,这会很有帮助。
xData = np.array(xData)
yData = np.array(yData)
def double_exp(x, a1, t1, a2, t2):
return a1*np.exp(-x/t1) + a2*np.exp(-(x-0.1) / t2)
mod=Model(double_exp)
result=mod.fit(yData,x=xData,a1=0.7,t1=0.5,a2=0.3,t2=10)
result.plot()
plt.grid()
plt.xlabel('Time')
plt.ylabel('Fluoresence Lifetime')
我的 xData 和 yData 列表的示例数据值是
[![xData is \[2.50783699e-09 5.01567398e-09 7.52351097e-09 1.00313480e-08
1.25391849e-08 1.50470219e-08 1.75548589e-08 2.00626959e-08
2.25705329e-08... etc\]
yData is \[ 1025. 1032. 1101. 1138. 1205. 1086. 1692. 13515. 59434. 82067.64293. 52266. 43993. 35335. 30066. 29989. 33773. 30521. 26468. 26338.27233. 26276. 24109....etc\]][1]][1]
【问题讨论】:
-
无法重现您所做的事情,因为与问题相关的数据不一致且不完整。因此,人们无法寻找麻烦的原因。
-
您能解释一下吗?我无法关注@JJacquelin
-
它们是您的 xData 中的 9 个数字。它们是 yData 中的 23 个数字。所以不一致。它们在图表上的点比在数据中的点多得多。如果没有您的全部数据,您将无法准确地重现您的微积分。人们无法观察你得到的直线。所以找不到问题的原因。
-
@JJacquelin 不,实际上它们的大小相同。我只是想展示一个示例,说明我的列表数据是什么样的
-
你能理解显示一个图表和一个部分数据是不够的。如果您不提供完整的数字示例,我将不会回答这个问题。
标签: python curve-fitting exponential lmfit