gpt4 book ai didi

python - 大矩阵的 SciPy 插值

转载 作者:行者123 更新时间:2023-11-28 23:06:12 25 4
gpt4 key购买 nike

我有一个 ndarray (Z),在矩形网格 (X, Y) 上有大约 500000 个元素。

现在我想在 x,y 中的大约 100 个位置插入值,这些位置不一定在网格上。

我有一些代码在 Matlab 中运行:

data = interp2(X,Y,Z, x,y);

但是,当我尝试对 scipy.interpolate 使用相同的方法时,根据方法的不同,我会收到各种错误。例如,如果我指定 kind = 'linear',则 interp2d 会失败,并出现 MemoryError;如果我指定 kind='cubic',则会出现“OverflowError:太多数据点无法插值”。我还尝试了 Rbf 和 bisplev,但它们也失败了。

所以问题是:是否存在允许对大型矩阵进行插值的插值函数?问题还有其他解决方案吗?(或者我是否必须编写一个函数来选择要插值的点周围的合适区域,然后调用 interp2d?)

此外:如何处理复数?

最佳答案

由于您的数据位于网格上,因此您可以使用 RectBivariateSpline .

要处理复数,您可以分别插入 data.realdata.imag(FITPACK 例程 IIRC 不处理复数数据)。

关于python - 大矩阵的 SciPy 插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com