Трехмерная (3D) матричная интерполяция в Matlab

У меня есть 3D-матрица в Matlab определенного размера, однако мне нужно будет интерполировать ее, чтобы получить матрицу большего размера.

size(M)
ans= 
  50   108    86

Мне нужно, чтобы эта матрица была интерполирована и, наконец, получить матрицу размера100x213x140, Любые идеи о том, как это сделать, используяinterp3? Это вообще возможно?

я пробовал

Vq = interp3(M,1:100,1:213,1:140)
Error using griddedInterpolant/subsref
The input data has inconsistent size.

Error in interp3 (line 178)
    Vq = F(Xq,Yq,Zq);

Если я используюmeshgrid:

[X,Y,Z] = meshgrid(1:100, 1:213, 1:140);
Vq =interp3(M,X,Y,Z);

Matlab, похоже, нравится, но происходят две вещи:

size(Vq) ans= 213 100 140я могу видетьNaN значения вVq

Причина в том, что мне нужно сравнить две матрицы, выбранные с разной частотой. Итак, я мог бы либо интерполироватьM получить матрицу размера100x213x140 или "уменьшить" размер моей другой матрицыM2 размера100x213x140 в50x108x86, Я думал, что первое должно быть проще и безопаснее ...

Ответы на вопрос(1)

Ваш ответ на вопрос