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

问题描述 投票:0回答:1

我一直在开发一个项目,该项目使用 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 函数来完成此任务吗?

python python-3.x scipy curve-fitting
1个回答
0
投票

您可能会发现 lmfit (https://lmfit.github.io/lmfit-py) 适合您想要做的事情。除其他功能外,

lmfit
允许根据其他参数使用数学表达式来约束参数,而无需更改用于对数据建模的函数的细节。

作为一个简单的示例,您可以让一个名为

a
的参数自由变化,并将另一个参数
b
定义为
1-sqrt(a)

© www.soinside.com 2019 - 2024. All rights reserved.