2013-04-10 60 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