TIMER関数を使用して、MATLABでタイマーオブジェクトを作成できます。
timerObject = timer('TimerFcn',@myFcn,'ExecutionMode','fixedRate',...
'Period',10.0);
タイマーを開始し、機能STARTとSTOPを使用して停止されています。例えば、これはタイマーが開始された後、関数にmyFcn 10秒ごとを実行する必要があり、タイマーオブジェクトを作成しますまた、使用し終えたら、必ずDELETEで削除することを忘れないでください。 MATLAB documentationには、タイマーの使用に関する詳細情報があります。
GUIDE GUIで軸オブジェクトを更新したい場合は、この作業を行うために必要な「トリッキー」が追加されています。 GUIDEのaxesオブジェクトのHandleVisibilityプロパティを変更するか、明示的にハンドルを取得する必要があります。これを行うには、次のように(これはあなたのGUIDEで軸ウィンドウはGUIがaxes1と呼ばれる生成と仮定している)timerObject構造を変更します。
timerData.axes = handles.axes1;
timerData.n = 1; % some state needed for the plots.
timerObject = timer('TimerFcn',@myFcn,...
'ExecutionMode','fixedRate',...
'Period',10.0,...
'UserData', timerData);
、その後myFcn
に、我々は、Axesオブジェクトを参照する必要があります。具体的には、
function [] = myFcn(timerObj, event)
timerData = get(timerObj, 'UserData');
plot(timerData.axes, (1:n)/n, sin(20*2*pi*(1:n)/n));
line((1:n)/n, cos(20*2*pi*(1:n)/n, 'Parent', timerData.axes);
timerData.n = timerData.n + 1;
set(timerObj, 'UserData', timerData);
end