4

我有一个数据集,第一列是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。任何建议如何克服这个问题?

4

1 回答 1

7

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

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

于 2012-08-21T11:58:15.850 回答