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



我一直在做一个项目,该项目使用 SciPy 的 optimize.curve_fit(( 函数通过改变 3 个参数将曲线拟合到某些数据,效果很好。

但是,我现在需要更改程序,以便其中一个参数具有边界,这些边界是另一个参数的函数(例如,当 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)

最新更新