如何获取MATLAB中所有开放数字的句柄

时间:2010-12-27 17:43:59

标签: matlab matlab-figure figures

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

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

4 个答案:

答案 0 :(得分:77)

有几种方法可以做到这一点。一种方法是获取root object的所有子项(在句柄0的先前版本中表示):

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

或者你可以使用函数findobj

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

如果任何数字有hidden handles,您可以改为使用findall函数:

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

答案 1 :(得分:16)

最好的事情之一就是不需要寻找手柄。创建每个图形时,捕获其句柄。

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

正如这里的一位开发人员告诉我的那样:

  

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

答案 2 :(得分:11)

我认为findall应该有用

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

答案 3 :(得分:6)

你可以得到手柄质量的精美答案。但原始问题的另一个提示 - 打印所有要提交的数据:您可以使用publish选项,而无需处理figrues或句柄。