仅沿两个维度进行3D插值

时间:2016-05-17 21:02:01

标签: matlab interpolation

我不了解MATLAB中的插值。我想沿着三维数组的两个维度进行插值。 取

M = rand(3,3,5);
x = 1:3;
y = 1:3;
xx = linspace(1,3,10);
yy = linspace(1,3,10);

如果我跑

interp1(x,M,1)

我找回了1x3x5矩阵,该矩阵沿第一维插值。现在我想得到一个1x1x5矩阵,它沿着前两个维度进行插值,有点像

interp2(y,x,M,1,1)
然而,

会产生错误。我能做到

interp2(y,x,M(:,:,1),1,1)

并循环遍历第三维,但我正在寻找一种更优雅的解决方案,它避免了循环并且与上面的interp1类似。

0 个答案:

没有答案