我正在使用Python中的lmfit
来拟合一些数据,包括拟合变量a、b和c。我需要确保a < b < c。我发现http://cars9.uchicago.edu/software/python/lmfit_MinimizerResult/constraints.html上提到了需要将约束定义为不等式,并设置虚拟变量。例如,如果我想要 a + b <= 10,我可以这样做:
pars.add('a', value = 5, vary=True)
pars.add('delta', value = 5, max=10, vary=True)
pars.add('b', expr='delta-a')
这将确保a + b <= 10。
我想我需要c - b > 0和b - a > 0(或者是a - b < 0和b - c < 0),但我不确定如何编写代码。