什么是Matlab的有效句柄?

时间:2011-03-28 21:51:24

标签: debugging matlab handle

我是Matlab的新手。我正在通过Matlab文档学习。在这些时刻,我正在做例子"A GUI to Set Simulink Model Parameters"。 在上面提到的“关闭GUI”部分,Close按钮回调显示以下代码:

function CloseButton_Callback(hObject, eventdata, handles)   
% Close the GUI and any plot window that is open  
if isfield(handles,'PlotFigure') && ...  
      ishandle(handles.PlotFigure),  
   close(handles.PlotFigure);  
end  
close(handles.F14ControllerEditor);   

我试图通过解析行为来了解有效句柄是什么 句柄handles.PlotFigure。我在行号中插入了一个断点 上面的四个代码,我已经在调试模式下运行程序。在这之后,我的结论是:
- 有效句柄(在本例中为名为handles.PlotFigure的句柄图形对象)是一个尚未被某些命令删除(关闭)的对象。

但是,我不明白为什么句柄字段handles.PlotFigure保留在句柄结构中并且尚未删除。 我在调试时发现的另一个惊喜是变量编辑器说“没有有效的handle.PlotFigure {1,1}”图。我既不明白这一点,因为handle.PlotFigure的数字确实存在。

如果有人运行这个例子并且能解释我的怀疑,我会感激不尽。

1 个答案:

答案 0 :(得分:1)