如何让scipy.interpolate给出超出输入范围的外推结果?

您所在的位置:网站首页 超出扫码规定范围怎么处理的 如何让scipy.interpolate给出超出输入范围的外推结果?

如何让scipy.interpolate给出超出输入范围的外推结果?

2024-07-10 06:32| 来源: 网络整理| 查看: 265

我正在尝试移植一个程序,它使用一个手卷插值器(由一位数学家学院开发)来使用scipy提供的插值器。我想使用或包装scipy插值器,以便它具有与旧插值器尽可能接近的行为。

这两个函数之间的一个关键区别是,在我们的原始内插器中-如果输入值高于或低于输入范围,我们的原始内插器将外推结果。如果您尝试使用scipy插值器执行此操作,则会引发ValueError。以下面的程序为例:

代码语言:javascript复制import numpy as np from scipy import interpolate x = np.arange(0,10) y = np.exp(-x/3.0) f = interpolate.interp1d(x, y) print f(9) print f(11) # Causes ValueError, because it's greater than max(x)

有没有一种合理的方法使它不是崩溃,而是简单地进行线性外推,继续由第一个和最后两个点定义的梯度到无穷大。

请注意,在实际的软件中,我实际上并没有使用exp函数--这里只是为了说明!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3