首頁>Club>
8
回覆列表
  • 1 # 通訊M班長

    回答這個問題前,先貼出matlab畫的一個動態正弦波。

    圖片資訊:

    每秒2幀;GIF格式;sine波形,初始相位為0,相位變化範圍為0:2π,步長為π/10正弦波頻率1Hz

    要想讓正弦波動起來,當然就像放電影一樣,我先儲存每一幀,然後順序播放。

    matlab提供了放電影的函式:

    movie(M,n,fps) 以每秒 fps 幀的速度播放影片。預設值是每秒 12 幀。達不到指定速度的計算機會盡可能快地播放。

    下面,我們僅僅需要建立一個相位不斷變化的sin函式即可

    fai=0:pi/10:10*pi;

    x=sin(2*pi*f0*t+fai(j));

    然後最後在構建一個迴圈,大功告成!

    for j=1:loops

    x=sin(2*pi*f0*t+fai(j));

    plot(t,x,"-ro","LineWidth", 1);

    legend(["訊號sin(2\pit+",num2str(fai(j)),")"]);

    xlabel("時間t");

    grid on;

    F(j) = getframe;

    im=frame2im(F(j));

    [imind,cm]=rgb2ind(im,256);

    if j == 1

    imwrite(imind,cm,"SineGIf.gif","gif", "Loopcount",inf,"DelayTime",0.5);

    else

    imwrite(imind,cm,"SineGIf.gif","gif","WriteMode","append","DelayTime",0.5);

    end

    end

  • 中秋節和大豐收的關聯?
  • 程式設計師是“短命”職業嗎?年齡大了是不是沒前途?