使用 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所述,数据点x
和y
需要定义一条曲线y = f(x)。这意味着:对于 x
中的每个点,在 y
.
中需要 恰好有一个 点
举个例子sin(x)
的数据:
x
中的每个点在 y
中恰好有一个点,一维样条拟合效果很好。
现在拿(类似的)你提出的数据进行比较:
x
中的每个点出现两次,更糟糕的是,y
中有两个不同的值。因此,此数据无效。
我无法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所述,数据点x
和y
需要定义一条曲线y = f(x)。这意味着:对于 x
中的每个点,在 y
.
举个例子sin(x)
的数据:
x
中的每个点在 y
中恰好有一个点,一维样条拟合效果很好。
现在拿(类似的)你提出的数据进行比较:
x
中的每个点出现两次,更糟糕的是,y
中有两个不同的值。因此,此数据无效。