1
我在Matlab中有多個2D線圖(它們代表一些波在空間中移動)。每個圖表代表某個時間t的波形。我想通過這些情節進行動畫製作(例如,顯示第一個情節的時間爲幾分之一秒,然後顯示下一個情節,然後顯示下一個情節等),以顯示系統的時間演變。衝浪和網格並沒有真正做我想做的事情,因爲我很難看到隨着時間步數的變化。有沒有辦法在Matlab中做到這一點?通過多個2D Matlab繪圖進行動畫製作
我在Matlab中有多個2D線圖(它們代表一些波在空間中移動)。每個圖表代表某個時間t的波形。我想通過這些情節進行動畫製作(例如,顯示第一個情節的時間爲幾分之一秒,然後顯示下一個情節,然後顯示下一個情節等),以顯示系統的時間演變。衝浪和網格並沒有真正做我想做的事情,因爲我很難看到隨着時間步數的變化。有沒有辦法在Matlab中做到這一點?通過多個2D Matlab繪圖進行動畫製作
我假設用「2d線」表示你的意思是2d圖。這是由plot
功能完成的,所以不需要surf
或mesh
。對不起,我錯了。
下面的代碼做什麼,我想你問:
% 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
你可以提供一個小的工作實例,我們可以一起玩?謝謝 –