2013-04-10 67 views
0

我已經使用GUIDE創建了一個GUI。我添加了執行任務的按鈕。開始按鈕,繪製圖形並播放我分配給它的波形文件。在開始按鈕中我還添加了一個'tic'。toc vector in GUI Matlab

在GUI的另一側有另一個按鈕,保存按鈕。該按鈕的功能是將按下按鈕的確切時間保存到矢量中。我使用的代碼只保存最後一個實例,但我希望能夠看到該向量的所有元素。

handles.counter.push(handles.count + 1) 
    handles.sfront(size(handles.counter)) = toc 

有沒有辦法將所有的實例保存到sfront矢量?

預先感謝您!

回答

0

你必須在回調函數結束前存儲你的句柄。

使用GUIDATA

guidata(hObject,handles) 
+0

我只是忘了更新結構! 我所缺少的是一個命令行「guidata(hObject,handles);」 – tk1863 2013-04-10 18:21:45

0

將新元素添加到載體使用的結尾:

handles.sfront(end+1) = toc; 

然後調用guidata(hObject,句柄)來存儲手柄的更新版本。

我不能在這裏重新創建你的整個GUI,但是這裏有一個在向量中存儲多個toc輸出的例子。花費大約10秒的時間運行:

tic 
tocList = []; 
for i = 1:5 
    tocList(end+1) = toc; 
    pause(2) 
end 
+0

感謝您的時間,但仍然不能做我想做的。 我希望看到 sfront = [3.351 4.84 9.84 etc]; 隨着代碼我有看到 sfront = [0 0 9.84 etc]; 所以基本上它只保存最後一個toc,而其餘的矢量是零。 – tk1863 2013-04-10 17:27:41

+0

我的理解是,您希望每次按下按鈕時都記錄toc嗎?你使用guidata來更新這個回調中的句柄嗎? – Molly 2013-04-10 17:38:52

+0

是的,我希望它每次按下按鈕時都會記錄toc。 我認爲,雖然處理更新擁有自己的。 你是什麼意思exaclty? – tk1863 2013-04-10 17:43:13