参数功能

时间:2014-03-19 00:07:01

标签: python model-fitting

我写了以下代码:

def model(axis, p):
    a1, t1, a2, t2, a3, t3, a4, t4 = p
    return a1*np.exp(-axis/t1) + a2*np.exp(-axis/t2) + a3*np.exp(-axis/t3) + a4*np.exp(-  axis/t4)

此代码是4个指数的定义。我必须解决这个功能,

使用另一个系列返回不同时间点的系列。要做到这一点,我写了

以下代码:

def Recsig(N, irf, model):
    conv_sig = [0.0]*irf.size
    for n in range(0,N+1):
        SUM = 0.0
        for m in range(0, n+1):
            SUM = irf[m]*model[n-m] + SUM
            conv_sig[n] = SUM
    result = np.squeeze(conv_sig)
    return result

Recsig功能的结果必须是一系列。我有另一个系列

实验。目标是使用非线性最小二乘法,实验系列和

在函数模型中找到参数,a1,t1 .... a4,t4。

问题是当我想调用它时,模型函数不接受参数。因此,我无法制作一系列4个指数并将其赋予Recsig函数。


更多解释:

我使用TCSPC设置及时测量了某种细菌的荧光发射,

时间相关的单光子计数。记录的信号或荧光是

IRF的卷积,仪器响应函数和model,在这种情况下为4

指数函数。我想卷积,做卷积,irf和model。然后我

将这个卷积的结果作为一系列时间。该系列的每个元素都是

某个时间点的卷积值。现在,我可以使用卷积系列和

记录荧光以估算model中的自由参数。

问题在于我无法将model函数转换为具有给定时间轴的系列。

numpy.exp(axis/t1)尝试评估此指数的数值,但只是轴

是数值,t1是在拟合中确定的下注参数。作为

结果mumpy无法将model函数转换为系列。

0 个答案:

没有答案