【问题标题】:How can i combine a function of a arguments with one of b arguments to a function of a+b arguments?如何将一个参数的函数与 b 参数之一结合到 a+b 参数的函数中?
【发布时间】:2020-01-02 16:51:08
【问题描述】:

我尝试使用 scipy.optimize.curve_fit 创建函数以适应数据。 如果我想考虑数据中的背景噪声,例如一个线性函数我将我的拟合函数与这个线性函数结合起来,比如:

return (lambda x, *connected_parameters: self.function(x, *connected_parameters[1:self.param_count]) +
   function(x, *connected_parameters[self.param_count:-1]))

self.function 是我的拟合函数,函数可以是 (lambda x, m, b: m*x + b),x 代表我想要拟合的集合。返回的函数不适用于optimize.curve_fit,因为使用星号curve_fit 现在认为只有两个参数。

有没有办法根据我想使用的噪声函数来定义参数的确切数量?

这是我的第一个问题,如果我犯了一些错误,请见谅。 最好的问候

我收到以下错误消息:

文件“C:\Users\Hans\source\repos\pyQTGraph\pyQTGraph\venv\lib\site-packages\scipy\optimize\minpack.py”,第 683 行,在 curve_fit raise ValueError("无法确定拟合参数的数量。") ValueError: 无法确定拟合参数的数量。

【问题讨论】:

    标签: variables arguments python-3.7


    【解决方案1】:

    我刚刚意识到我希望新函数具有 a+b-1 参数,因为这两个组合函数共享一个参数。这是x。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多