我想插入4D矩阵。 矩阵大小为400X200X400X200的复数。 我使用的功能:interpn
为此,我必须使用以下方法设置我的新网格: ndgrid
但是ndgrid需要几个小时。 你能帮忙吗?
谢谢!
示例代码:
[Y X V U]=ndgrid (ky_vec,kx_vec,kv_vec,ku_vec);
F=f(Y,X,V,U);
[Yt Xt Vt Ut]=ndgrid (ky_vec,kx_vec,ky_vec,kx_vec,'single');
A=interpn(Y,X,V,U,F,0.9*Yt,0.9*Xt,(1-0.9)*Vt,(1-0.9)*Ut,'linear',0.0);
答案 0 :(得分:1)
'single'
参数不属于那里。它被解释为ones(1,length('single'))
,因此产生更大的矩阵。
您也可以生成griddedInterpolant
,这样可以节省内存:
F_interp = griddedInterpolant({ky_vec,kx_vec,kv_vec,ku_vec},F)