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

时间:2018-03-19 09:38:35

标签: python python-3.x scipy curve-fitting

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

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

我可以使用其他任何Python函数来完成此任务吗?

1 个答案:

答案 0 :(得分:0)

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

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