Matlab三维插值

Matlab三维插值,matlab,matrix,interpolation,Matlab,Matrix,Interpolation,我有3个矩阵(129x129)对应于x,y和z坐标。我使用了函数网格 mesh(x,y,z); 绘制相应的图形,结果是一个球体。现在,我有另一组x,y,z(同样是129),它给出了一个不同的球体。我想要的是在MATLAB中使用插值来获得介于两者之间的数字。我在MATLAB中查看了函数,但不知道如何使用它 您似乎对表面z(x,y)从一个表面z0到另一个表面z1的演变感兴趣。我建议采取以下步骤 T = 5; % number of "time steps" from z0 to z1 t =

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

mesh(x,y,z);

绘制相应的图形,结果是一个球体。现在,我有另一组x,y,z(同样是129),它给出了一个不同的球体。我想要的是在MATLAB中使用插值来获得介于两者之间的数字。我在MATLAB中查看了函数,但不知道如何使用它

您似乎对表面
z(x,y)
从一个表面
z0
到另一个表面
z1
的演变感兴趣。我建议采取以下步骤

 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

似乎您对曲面
z(x,y)
从一个曲面
z0
到另一个曲面
z1
的演化很感兴趣。我建议采取以下步骤

 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

谢谢谢。如何在同一绘图中看到两个图形?@ksingh您可以使用
子绘图
在同一绘图中看到多个绘图figure@ksingh顺便说一句,我假设基本的
x
y
不随时间变化。如果情况并非如此,您可能还希望对
x
y
执行相同的技巧:
xt=t(ii)。*t1+(1-t(ii)),*t0
yt=t(ii)。*y1+(1-t(ii))*y0然后<代码>子批次(2,3,ii);网状结构(xt、yt、zt)子绘图
在同一绘图中看到多个绘图figure@ksingh顺便说一句,我假设基本的
x
y
不随时间变化。如果情况并非如此,您可能还希望对
x
y
执行相同的技巧:
xt=t(ii)。*t1+(1-t(ii)),*t0
yt=t(ii)。*y1+(1-t(ii))*y0然后<代码>子批次(2,3,ii);网状结构(xt、yt、zt)如果您的问题确实是指曲面演化而不是插值,则最好相应地编辑标题、标记和问题,以便其他人能够更轻松地访问它。如果您的问题确实是指曲面演化而不是插值,则最好编辑标题,标签和相应的问题,以便其他人能够更容易地访问它。