python - 使用 scipy sqlrep 进行周期性插值

标签 python scipy interpolation

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

但它不起作用,引发“输入数据错误”

最佳答案

作为the documentation状态,数据点 xy 需要定义一条曲线 y = f(x)。这意味着:对于 x 中的每个点,y 中都需要恰好一个点。

例如sin(x) 的数据: Plot of sin(x) with x in [0,7] with an interpolated spline and a periodic interpolated spline.

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

现在拿(类似的)您建议的数据进行比较: Plot of the proposed data, not representating a function.

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

关于python - 使用 scipy sqlrep 进行周期性插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945375/

相关文章:

python - 如何将参数仅传递给 scikit 学习中管道对象的一部分?

python - 多个 numpy 数组的矩阵乘法

python - 使用 Python 进行反向过滤

css - SASS Map - map-get 不再支持插值?

python - 哪种插值最适合调整图像大小?

python - 在 Python 中获取 HTTP 响应的字符集/编码的好方法

python - 将平面 x/y 转换为纬度/经度

python - 如何为 SciPy 的 interp1d 指定边界行为

python - 查找共享共同元素的行

python - Scipy "masked arrays are not supported"错误