Matlab 3D插值

时间:2013-02-14 16:35:24

标签: matlab matrix interpolation

我有3个矩阵(129x129)对应x,y和z坐标。我使用了函数mesh

mesh(x,y,z);

绘制相应的数字。它出来是一个球体。现在,我有另一组x,y,z(再次为129),它给出了一个不同的球体。我想要的是在MATLAB中使用插值来获得介于两者之间的数字。我查看了MATLAB中的函数interp3,但无法弄清楚如何处理它。

1 个答案:

答案 0 :(得分:4)

您似乎对从一个表面z(x,y)到另一个z0的表面z1 evolution 感兴趣。我会建议以下过程

 T = 5; % number of "time steps" from z0 to z1
 t = linspace( 0, 1, T );
 for ii = 1 : T
     zt = t(ii).*z1 + (1-t(ii)).*z0;
     mesh( x, y, zt ); title( sprintf( 'time %d', ii ) );
     drawnow;
     pause(1); wait a sec
 end