使用 scipy sqlrep 进行定期插值

Periodic interpolation with scipy sqlrep

我无法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)

但是不行,提出一个'Error on input data'

the documentation所述,数据点xy需要定义一条曲线y = f(x)。这意味着:对于 x 中的每个点,在 y.

中需要 恰好有一个

举个例子sin(x) 的数据:

x 中的每个点在 y 中恰好有一个点,一维样条拟合效果很好。

现在拿(类似的)你提出的数据进行比较:

x 中的每个点出现两次,更糟糕的是,y 中有两个不同的值。因此,此数据无效。