0

LMFIT で ExpressionModel を使用して、次のように表すことができる条件付きモデルに適合させる方法:

from lmfit.models import ExpressionModel
# read(xdata and ydata) here
if xdata < some_parameter_value:
    model = ExpressionModel('expression1')
else:
    model = ExpressionModel('expression2')

この条件付きモデルを 1 つのモデル (global_model) として記述し、fit メソッドに渡す方法

results = global_model.fit(y, x = x, parameters_dictionary)

some_parameter_value: Parameters クラスを使用して作成された parameters_dictionary のメンバーです

4

1 に答える 1

0

lmfit モデルはデータとは独立して定義され、「データの一部」には使用できません。

おそらく、モデルの式を次のように書き直すことができます。

 expr1 if x < x0 else expr2

それ以外の場合は、条件をテストし、その条件に基づいて別の計算を行うカスタム モデルを作成する必要があると思います。

于 2017-01-21T15:48:23.630 に答える