【问题标题】:Scipy: fitting a spline to a custom function instead of pointsScipy:将样条曲线拟合到自定义函数而不是点
【发布时间】:2016-06-22 20:45:55
【问题描述】:

我想知道是否有一种方法可以将样条曲线直接拟合到函数而不是点。目前我正在从函数中手动创建点。以下是我使用的代码(简化版)

    def get_fit_function(self, function, test_range, k=3, **fArgs):

        x = np.array(test_range)
        y = np.array([function(p, **fArgs)
                      for p in x])  # my function
        u = UnivariateSpline(x, y, k=k)
        print('avgError', u.get_residual()**0.5 / len(x_values))
        return u

我在 scipy 文档中找不到任何内容。有人知道这种方法是否存在吗?谢谢。

【问题讨论】:

    标签: python-3.x scipy


    【解决方案1】:

    没有。

    您需要在某个网格上对您的函数进行采样。如果您有更多信息而不仅仅是积分,您也可以使用它。一方面,如果你可以计算导数,你也可以使用它们。

    【讨论】:

    • 感谢您的回答。问题是,我正在尝试加快我的代码速度。所讨论的函数来自一个隐式方程,因此使用样条曲线的计算速度提高了 500-1000 倍 (%timeit),并且误差最小。
    猜你喜欢
    • 2021-03-02
    • 1970-01-01
    • 2018-06-02
    • 2014-12-02
    • 2017-04-21
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多