1. 程式人生 > >Matlab 中動態顯示畫圖過程

Matlab 中動態顯示畫圖過程

         平常我們看到gif圖很好玩,在Matlab中也可以製作像gif那樣動態的圖,在這裡就以動態畫一個正玄函式為例來說明一下。一個動態圖其實存放了好多張連續的圖片,你看到的動態圖其實就是這些多張圖串聯起來然後以比你眼睛感知要快的速度移動,這樣達到一種動態展現的效果,所以呀,眼睛感知的經常看到的是假象,唯有心感知的才是真實的。

       要達到畫圖動態的效果,就是當你畫第i個點時,前(i-1)個點的畫圖過程要首先展現出來。因此我們只要記錄畫每一個點影象,然後依次快速移動這些圖片,我們就可以達到這種目的了。在Matlab中提供了getframe和movie 來完成這個過程。具體詳盡說明和其他使用見help。下面直接上程式碼。

clc;
close all;
x1=0;s=0.2;%確定起始點和增量
nframes=50;%確定總動畫幀數
for k=1:nframes
    x1=x1+s;%確定畫圖時的橫座標終止值x1
    x=0:0.01:x1;
    y=sin(x);
    plot(x,y);
    axis([0 2*pi   -1.2 1.2]);%座標軸的範圍
    m(k)=getframe;%將當前圖形存入矩陣m中
end
movie(m,3)%重複3此播放動畫
     至此就完成了動態畫圖的過程了。