如何获得MATLAB中所有开放graphics的句柄

我在matlab中有九个打开的数字(由另一个函数生成),我想将它们全部打印到文件中。 有谁知道如何抓住MATLAB中所有开放graphics的句柄?

我知道gcf但似乎没有做我想要的。

有几种方法可以做到这一点。 一种方法是获取根对象的所有子元素 (在以前版本中由句柄0 ):

 figHandles = get(groot, 'Children'); % Since version R2014b figHandles = get(0, 'Children'); % Earlier versions 

或者你可以使用函数findobj

 figHandles = findobj('Type', 'figure'); 

如果任何数字都有隐藏的句柄 ,则可以使用函数findall

 figHandles = findall(groot, 'Type', 'figure'); % Since version R2014b figHandles = findall(0, 'Type', 'figure'); % Earlier versions 

要做的最好的事情之一是不需要查找手柄。 当你创build每个graphics,抓住它的句柄。

 h(1) = figure; h(2) = figure; ... 

正如其中一位开发人员告诉我的:

他们被称为句柄,因为你应该坚持他们

我认为findall应该工作

handles=findall(0,'type','figure')

你已经得到很好的答复质量手柄。 但是对于原始问题的另一个提示 – 打印所有的数字:您可以使用publish选项,而不处理figrues或句柄。