我希望四维或立方体在1d中插入一系列浮点数(或向量),其中long可以是1E + 05或1E + 06(或更多)。出于某种原因,SciPi方便的interp1d()
准备内插器的时间开销对于二次和三次样条曲线几乎都是n ^ 3。
我不一定需要样条插值器。我可以很容易地写一个(至少对于等间距数据)只使用最接近的3或4点来进行局部(分段)二次或三次插值,尽管它可能最终变得难看并且可能很慢。
但是我想知道这样的事情是否存在?生成比<{1}}的样条线更快?
使用scipy v.0.17.0和numpy v.1.13.0
使用(我的想法)最近的Anaconda安装:scipy v.0.17.0和numpy v.1.11.0
interp1d
答案 0 :(得分:0)
出于某种原因,SciPi方便的interp1d()准备内插器的时间开销对于二次和三次样条曲线几乎都是n ^ 3。
根据answer:
简短回答:更新你的scipy安装。
更长的答案:0.19之前,interp1d基于splmake,它使用带有完整矩阵的线性代数。在scipy 0.19中,它被重构为使用带状线性代数。结果,(下面是scipy 0.19.1)
你的问题的答案:
二次或三次1d插值没有大的内插器构建开销?
仍然使用scipy.interp1d
而不是你曾经使用的旧版scipy(在这种情况下我是)。一定要使用scipy 0.19或更新版本。 Fyi版本1.0已经发布,所以你(我)应该相应更新。