我需要一个可以在参数 space 内拟合曲线的 python 函数

I need a python function that can fit a curve within a parameter space

我一直在做一个项目,该项目使用 SciPy 的 optimize.curve_fit() 函数通过改变 3 来拟合某些数据的曲线参数,一直运行良好。

但是,我现在需要更改程序,使其中 1 个参数具有作为另一个参数函数的边界(例如,当 x = 10 ybounds = 1 +/- 0.2 但当 x = 11 ybounds = 1.1 +/- 0.2)。到目前为止我唯一的想法是在第一个函数中放置另一个 optimize.curve_fit() 函数,但事实证明这非常低效(程序现在需要大约 4 个小时而不是不到 5 分钟)。

我可以使用其他 Python 函数来完成此操作吗?

提供有关您尝试执行的操作的更多详细信息会很有帮助。您可能会发现 lmfit (https://lmfit.github.io/lmfit-py) 适合您要执行的操作。在其他功能中,lmfit 允许根据其他参数使用数学表达式来约束参数,而无需更改用于对数据建模的函数的细节。

作为一个简单的示例,您可以将名为 a 的参数自由变化,并将另一个参数 b 定义为 1-sqrt(a).