gpt4 book ai didi

Python SciPy UnivariateSpline 返回 NaN - 范围内的值

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:16 26 4
gpt4 key购买 nike

我正在尝试使用 SciPy 的 UnivariateSpline 来定位曲线上的一个点。不幸的是,我的结果是 nan
这是一个最小的例子:

from scipy.interpolate import UnivariateSpline  

spline = UnivariateSpline([0.6, 0.4, 0.2, 0.0], [-0.3, -0.1, 0.1, 0.3], w=None, bbox=[None, None], k=1, s=0)
POINT = spline([0.15])
print POINT

结果是[NaN]
我错过了 UnivariateSpline 的哪个功能?

我正在使用 Python 2.6.6 和 scipy 版本 0.7.2

我不能保证我一直在增加数据点,所以 interp 可能不是替代方案。

最佳答案

作为docstring for UnivariateSpline状态,x 中的值必须增加。如果您想使用 UnivariateSpline,则必须对数据进行排序。例如。像这样:

In [71]: x = np.array([0.6, 0.4, 0.2, 0.0])

In [72]: y = np.array([-0.3, -0.1, 0.1, 0.3])

In [73]: order = np.argsort(x)

In [74]: spline = UnivariateSpline(x[order], y[order], w=None, bbox=[None, None], k=1, s=0)

In [75]: spline([0.15])
Out[75]: array([ 0.15])

关于Python SciPy UnivariateSpline 返回 NaN - 范围内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com