【问题标题】:Periodic interpolation with scipy sqlrep使用 scipy sqlrep 进行定期插值
【发布时间】:2018-06-20 20:54:27
【问题描述】:

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

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

【问题讨论】:

  • 您期待什么?这些是无效的数据点:不满足:x, y: The data points defining a curve y = f(x).
  • 为什么不呢?我不明白...你能提供一个有效数据点的例子吗?

标签: python scipy interpolation


【解决方案1】:

正如the documentation 所述,数据点xy 需要定义一条曲线y = f(x)。这意味着:x 中的每个点都需要在y恰好有一个 点。

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

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

现在比较(类似于)您提出的数据:

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

【讨论】:

  • 好的,非常清楚,谢谢。最后极坐标解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 2020-08-19
  • 2018-09-03
  • 2019-06-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2016-10-18
相关资源
最近更新 更多