【问题标题】:scipy's splrep/splev for python interpolation returns nanscipy 用于 python 插值的 splrep/splev 返回 nan
【发布时间】:2012-08-16 18:01:54
【问题描述】:

我有一个data set,第一列为x 数据(波长),第二列为y 数据(相对强度)。

我希望将其插入另一个 x_new-data 但我的问题是 splrep 返回 nan-values:

>>import numpy as np
>>from scipy.interpolate import splrep, splev
>>d = np.loadtxt("test.txt")
>>x,y = d[:,0],d[:,1]
>>
>>f = splrep( x,y,k=5 )
>>print f
>>(array([ 4501.19,  4501.19,  4501.19, ...,  7091.74,  7091.74,  7091.74]), array([ nan,  nan,  nan, ...,   0.,   0.,   0.]), 5)

当我没有指定k 时也会发生这种情况。有什么建议可以解决这个问题吗?

【问题讨论】:

    标签: python scipy nan


    【解决方案1】:

    您的 x 值可能包含重复值,请使用 splrep 的 s=... 关键字参数来设置平滑因子,因为如果未设置,则样条线应该通过每个点准确重复是不可能的。

    可能它们不是重复的,但也非常接近。

    【讨论】:

    • 感谢您的提示。我不知道。事实证明,删除重复项更容易。
    猜你喜欢
    • 1970-01-01
    • 2014-01-06
    • 2012-11-09
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多