Matlab三维插值
我有3个矩阵(129x129)对应于x,y和z坐标。我使用了函数网格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 =
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)谢谢,谢了。如何在同一绘图中看到两个图形?@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)代码>如果您的问题确实是指曲面演化而不是插值,则最好相应地编辑标题、标记和问题,以便其他人能够更轻松地访问它。如果您的问题确实是指曲面演化而不是插值,则最好编辑标题,标签和相应的问题,以便其他人能够更容易地访问它。