2015-06-22 292 views
1

我在Matlab中有多個2D線圖(它們代表一些波在空間中移動)。每個圖表代表某個時間t的波形。我想通過這些情節進行動畫製作(例如,顯示第一個情節的時間爲幾分之一秒,然後顯示下一個情節,然後顯示下一個情節等),以顯示系統的時間演變。衝浪和網格並沒有真正做我想做的事情,因爲我很難看到隨着時間步數的變化。有沒有辦法在Matlab中做到這一點?通過多個2D Matlab繪圖進行動畫製作

+1

你可以提供一個小的工作實例,我們可以一起玩?謝謝 –

回答

2

我假設用「2d線」表示你的意思是2d圖。這是由plot功能完成的,所以不需要surfmesh。對不起,我錯了。

下面的代碼做什麼,我想你問:

% Generate some propagating wave 
n = 20; 
t = linspace(0,10,100); 
x = cell(1,n); 
for i = 1:n 
    x{i} = (1-abs(i/n-0.4))*sin(t+i*0.2); 
end 

% Create frames 
figure; 
for i = 1:length(x) 
    clf; 
    plot(t,x{i}); 
    ylim([-1,1]); 
    myFrames(i) = getframe; %#ok<SAGROW> 
end 

% Show movie 
figure; 
movie(myFrames,2,2); % frames, repetitions, frames per second