1

我正在尝试通过两个参数共享来执行全局拟合。现在我收到一条消息'AttributeError:'float'对象没有属性'exp'。

代码如下:


    import numpy as np
    import symfit as sf
    import matplotlib.pyplot as plt

    x=     #data from dataframe
    y1=    #data from dataframe
    y2=    #data from dataframe   
    y3=    #data from dataframe


    x_1, x_2, x_3, y_1, y_2, y_3 = sf.variables('x_1, x_2, x_3, y_1, y_2, y_3')
    A0_0, A1_0, A0_1, A1_1, A2_1, A0_2, A1_2, tau1, tau2 = sf.parameters('A0_0, A1_0, A0_1, A1_1, A2_1, A0_2, A1_2, tau1, tau2')

    globalmodel = sf.Model({
        y_1: A0_0 + A1_0 * sf.exp(-x_1 / tau1),
        y_2: A0_1 + A1_1 * sf.exp(-x_2 / tau1) + A1_1 * sf.exp(-x_2 / tau2),
        y_3: A0_2 + A1_2 * sf.exp(-x_3 / tau2),
    })


    globalfit = sf.Fit(globalmodel, x_1=t, x_2=t, x_3=t, y_1=y1, y_2=y2, y_3=y3)
    globalfit_result = globalfit.execute()
    print(globalfit_result)

    y_r = globalmodel(x_1=t, x_2=t, x_3=t, **globalfit_result.params)

我使用这个在线资源作为参考。我不知道我的代码有什么问题。这可能是一个基本问题。指出我的代码中的错误将有很大帮助。

4

0 回答 0