我无法让scipy.interpolate.splrep使用定期数据点... 我想我没有正确处理'per'参数。到目前为止,我使用此代码:
from scipy.interpolate import splrep
import numpy as np
x = np.concatenate((np.linspace(-180, 180, 720),np.linspace(180, -180, 720)))
y = np.concatenate((np.linspace(-180, 180, 720),np.linspace(-180, 180, 720)))
spl = splrep(x, y, per=True)
但是它不起作用,请引发“输入数据错误”
答案 0 :(得分:2)
如the documentation所述,数据点x
和y
需要定义一条曲线y = f(x)。这意味着:对于x
中的每个点,在y
中必须恰好一个点。
x
中的每个点在y
中都只有一个点,并且1d样条拟合效果很好。
x
中的每个点出现两次,甚至更糟的是,在y
中出现两个不同的值。因此,此数据无效。