我在 Python 中使用 ODRPACK 库来拟合一些一维数据。它工作得很好,但我有一个问题:是否有可能对拟合参数进行限制?例如,如果我有一个模型 y = a * x + b 并且由于物理原因,参数 a 只能在 (-1, 1) 范围内。我发现这样的约束可以在 ODRPACK95 库的原始 Fortran 实现中完成,但我找不到如何在 Python 中做到这一点。
当然,我可以实现我的函数,使它们返回非常大的值,如果拟合参数超出范围并且卡方也会很大,但我想知道是否有正确的方法来做到这一点。
我在 Python 中使用 ODRPACK 库来拟合一些一维数据。它工作得很好,但我有一个问题:是否有可能对拟合参数进行限制?例如,如果我有一个模型 y = a * x + b 并且由于物理原因,参数 a 只能在 (-1, 1) 范围内。我发现这样的约束可以在 ODRPACK95 库的原始 Fortran 实现中完成,但我找不到如何在 Python 中做到这一点。
当然,我可以实现我的函数,使它们返回非常大的值,如果拟合参数超出范围并且卡方也会很大,但我想知道是否有正确的方法来做到这一点。