Re: [問題]請問計時器的問題 已回收

看板MATLAB作者 (Becherovka)時間14年前 (2011/04/12 18:32), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
startdelay=10; %初始延遲時間 period=10; %時間間隔 k=10; %次數 F='x=rand'; %要執行的TimerFcn a=timer('TimerFcn',F,'StartDelay',startdelay,... 'Period',period,'TasksToExecute',k,'ExecutionMode','fixedRate'); start(a) 以上. ※ 引述《aaaaagw (暱稱可以吃嗎)》之銘言: : ※ 引述《aaaaagw (暱稱可以吃嗎)》之銘言: : : 不好意思我又有問題了,我的計時器設定條件後停不下來 : : 我目前依照影片的步驟做了嘗試 : : 這是我寫的程式碼: : : clc,clear; : : for i=1:2 %一個i迴圈 : : k=0; %這是變數 : : a=timer; %我設定一個A變數給TIMER : : set(a,'executionMode'); %以下設定 : : set(a,'executionMode','fixedRate'); : : get(a); : : set(a,'TimerFcn','disp(10)'); %顯示每次跑一秒顯示10 : : get(a); : : start(a); %開始跑 : : k=k+i; %讓K加上迴圈的i : : if k>3 %大過3的時候 : : stop(a); %讓計時器停止 : : end : : end : : 如果把程式的迴圈移除掉直接打上STOP(A); : : 這樣就會執行後馬上停止,所以想加上判斷條件,嚐試了半天都沒辦法 : : 請板上的高手們幫幫忙...非常感謝~~!! : 我依照VBO的版友用WHILE迴圈去處理,不過還是失敗了(笑 : 程式碼如下: : clc,clear; : k=0; %紀錄用次數 : while(k<=10) %判斷大過10之後跳出 : a=timer; : set(a,'executionMode'); : set(a,'executionMode','fixedRate'); : get(a); : set(a,'TimerFcn','disp(10)'); : get(a); : start(a); : stop(a); %我在這邊停止是防止爆走,一拿掉後馬上數字不斷湧出 : k=k+1; : end : stop(a); %這邊就是跳出回圈後希望他停止計數了 : 請版上的各位幫忙=3=... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.64.121

04/13 10:43, , 1F
感謝becherovka的幫忙~~太感謝你了!!
04/13 10:43, 1F
文章代碼(AID): #1Df2ejWI (MATLAB)
文章代碼(AID): #1Df2ejWI (MATLAB)