Interpolación matricial tridimensional (3D) en Matlab
Tengo una matriz 3D en Matlab de cierto tamaño, sin embargo, necesitaría interpolarla para obtener una matriz de mayor tamaño.
size(M)
ans=
50 108 86
Necesito que esa matriz se interpole y finalmente obtenga una matriz de tamaño100x213x140
. Alguna idea de cómo hacerlo usandointerp3
? ¿Es esto posible en absoluto?
He intentado
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);
Si yo usomeshgrid
:
[X,Y,Z] = meshgrid(1:100, 1:213, 1:140);
Vq =interp3(M,X,Y,Z);
A Matlab parece gustarle, sin embargo, suceden dos cosas:
size(Vq) ans= 213 100 140
puedo verNaN
valores enVq
La razón detrás es porque necesito comparar dos matrices muestreadas a diferentes frecuencias. Entonces, podría interpolarM
para obtener una matriz de tamaño100x213x140
o "reducir" el tamaño de mi otra matrizM2
de tamaño100x213x140
a50x108x86
. Pensé que lo primero debería ser más fácil y más seguro ...