1

2 つのパラメーターを共有してグローバル フィッティングを実行しようとしています。「AttributeError: 'float' object has no attribute '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