我有3個矩陣(129x129)對應於x,y和z座標。我用功能網格Matlab 3D插值
mesh(x,y,z);
來繪製相應的圖。它變成一個球體。現在,我有另一組x,y,z(同樣是129),它給出了一個不同的球體。我想要的是在MATLAB中使用插值來獲得之間的數字。我在MATLAB中查看了函數interp3
,但無法弄清楚如何處理它。
我有3個矩陣(129x129)對應於x,y和z座標。我用功能網格Matlab 3D插值
mesh(x,y,z);
來繪製相應的圖。它變成一個球體。現在,我有另一組x,y,z(同樣是129),它給出了一個不同的球體。我想要的是在MATLAB中使用插值來獲得之間的數字。我在MATLAB中查看了函數interp3
,但無法弄清楚如何處理它。
好像你感興趣的表面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
謝謝謝。我如何看到同一圖表中的兩個數字? – pikachu 2013-02-14 16:55:53
@ksingh您可以使用'subplot'來查看同一圖中的幾張圖 – Shai 2013-02-14 18:12:15
@ksingh BTW我假設底層的'x'和'y'不隨時間變化。如果不是這種情況,你可能想用'x'和'y'做同樣的技巧:xt = t(ii)。* t1 +(1-t(ii)),* t0;'和'yt = t(ii)。* y1 +(1-t(ii))。* y0;'然後'subplot(2,3,ii); mesh(xt,yt,zt) – Shai 2013-02-14 18:14:07
如果你的問題確實是指表面進化,而不是插值,如果相應地編輯標題,標籤和問題,這將是最好的,所以其他人將能夠訪問它更容易。 – Shai 2013-02-14 18:38:39