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')

如何将此条件模型编写为一个模型(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 回答