我想从一个不规则网格插值到另一个使用Python的不规则网格。网格是2D的,有103,113个数据点。我使用Python 2.6.6,Scipy 0.7.2,Numpy 1.3.0,Matplotlib 0.99.3将大型不规则网格插值到Python中的另一个不规则网格
在Matlab中使用griddata可以在大约5秒内完成。
BnGRID2 = griddata(R_GRID1,Z_GRID1,BnGRID1,R_GRID2,Z_GRID2) (MATLAB)
(注意:所有的数组是201 X 513)
不过,如果我尝试使用matplotlib.mlab.griddata我得到的MemoryError即使我尝试只有真正的部分工作:
mlab.griddata(R_GRID1.flatten(),Z_GRID1.flatten(),num.real(BnGRID1.flatten()),R_GRID2.flatten(),Z_GRID2.flatten())
如果我尝试使用interp2d我得到一个分段错误和Python退出:
a = interp.interp2d(R_GRID1,Z_GRID1,num.real(BnGRID1))
我曾尝试使用设g KDTree和这似乎工作正常,但是,它需要几分钟与Matlab的几秒钟,但我还没有探索这个选项太多。
想知道如果有人有任何想法,我可以像Matlab似乎尽快完成这项工作吗?我注意到新版本的Scipy也有griddata,有谁知道这是否可以处理大型不规则网格?
我试过新的scipy griddata,它效果很好,谢谢! –