[問題] GUID timer 畫圖已回收
這幾天光查timer這個指令就查了好幾個小時,還是不會用....
大概目的為:
按一個按鈕後,讓啟動timer,然後一秒後移動直線1格,如下圖
|
|
| | --> | 箭號表移動
|
|
|_____________
我寫的程式如下:
function pushbutton_Simu_Callback(hObject, eventdata, handles)
handles.mTimer =
timer('TimerFcn',@mytimer,'ExecutionMode','fixedRate','Period',1,'StartDelay',0);
start(handles.mTimer);
function mytimer(obj, event)
axes( handles.m_pict_main ); % m_pict_main 是我自己定義的
handles.PositionX = handles.PositionX + 1; % 之前有定義過
EX = [handles.PositionX handles.PositionX];
EY = [30 50];
set( handles.drawLine,'XData',EX,'YData',EY); % 之前有定義畫圖的handles
drawnow
% Update handles structure
guidata(hObject, handles);
上面是我擷取部分主要的程式,可是它他沒有像我想的那樣一直跳去mytimer那邊,
我在偵錯的時候有看到他有進去mytimer裡面一次,之後就沒有下文了,
我也有照網路上的想說要設定timer的執行次數,可是還是一樣只跳進去一次,
試了很多種方法還是都不行....
按了按鈕後,matlab工作區有出現一段
??? Error while evaluating TimerFcn for timer 'timer-76'
Undefined function or variable "handles".
主要是想問timer和callback的觀念,希望可以有提出一個像我想要的那樣
以GUID按鈕按後讓圖形可以一段時間動一次的程式。
萬分感謝~.~
matlab新手....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.75.12
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章