我想使用lmfit拟合一个模型。该模型有两个参数c和c1。对于这些参数,我有三个约束条件(0〈=c〈=1)(-1〈=c1〈=0)和(1+c1-c〉0)。如何将这些约束条件合并到我的模型中?
我尝试了以下方法:
params = lmfit.Parameters()
params.add("c1", value = -0.5, min = -1, max = 0)
params.add("constraint", value = 0.5, min = 0, max = 1)
params.add("c", expr = "1+c1-constraint", min = 0, max = 1)
在这个例子中,c1和1+c1-c的约束被遵守,但是c的约束在拟合中没有被遵守。每当约束没有被遵守时,c的输出正好是0,这在我的拟合中产生了问题。我应该怎么办?
1条答案
按热度按时间6jjcrrmo1#
我可能会把它写成
你觉得这样对吗?