| Graphics | ![]() |
例題 - FFTをムービーとして可視化
この例題は、ムービーを使って、fft(eye(n))を可視化するものです。fft(eye(n))の結果は、複素数のn行n列の行列で、その要素は、exp(i*2*pi/n)のn番目の根のパワーを表します。
ムービーの作成
グラフを取り込むために、getframeをコールしているforループを使って、ムービーを作成します。plotコマンドは、axesプロパティをリセットするので、getframeの前に、ループの中で、axis equalをコールしてください。
for k = 1:16plot(fft(eye(k+16)))axis equalM(k) = getframe;end
ムービーを実行
ムービーを作成した後、任意の回数それを再生することができます。たとえば、30回繰り返し再生するには、つぎのようにします。
movie(M,30)
多くのコンピュータでは、数ダースのフレームを作成でき、それをスムーズに再生することができます。長いムービーは、大きな基本メモリ、または、非常に効率的な仮想メモリシステムのどちらかを必要とします。
すべてのフィギュアを含むムービー
すべてのフィギュアウインドウの内容を取り込みたい(たとえば、GUIをムービーに取り込む)場合、フィギュアのハンドルをgetframeコマンドへの引数として設定します。たとえば、前の例題の中で、kの値を示すために、スライダを加えることを考えてみましょう。
h = uicontrol('style','slider','position',...
[10 50 20 300],'Min',1,'Max',16,'Value',1)
for k = 1:16
plot(fft(eye(k+16)))
axis equal
set(h,'Value',k)
M(k) = getframe(gcf);
end
この例題の中で、ムービーフレームは、すべてのフィギュアを含んでいます。オジリナルのフィギュアに見えるように再生するために、再生axesをフィギュアウインドウ一杯に設定します。
clf
axes('Position',[0 0 1 1])
movie(M,30)
| ムービー | 消去モード | ![]() |