如何找出目前有多少数字?

Oli*_*Oli 6 matlab user-interface matlab-figure

有没有办法知道在matlab中打开了多少个数字?

And*_*ein 8

使用:

numel(get(0,'Children'));
Run Code Online (Sandbox Code Playgroud)

您还可以使用findobj函数使用@triazotan建议的内容.但是它会慢一点,因为你需要浏览所有对象.

编辑: 我决定看看findobj是如何工作的.这是一个更复杂的方式来遍历get中的所有对象(0,'Children')
这是从findobj调用的文件的小摘要:检查内置('get',0,'ShowHiddenHandles ')这实际上是一个get(0,'Children')在中间:

function h = findobjhelper( varargin )

%Copyright 2009-2010 The MathWorks, Inc.

allowHVHandles = true;

nin = nargin;
rootHandleVis = builtin( 'get', 0, 'ShowHiddenHandles' );

% See if 'flat' keyword is present 
hasflat = false;
if (nin > 1) 
    if strcmp( varargin{2}, 'flat' ) % Does the 'flat' keyword exist
        hasflat = true;
    end
end

if nin == 0
    if feature('HgUsingMatlabClasses')
        h = findobjinternal( 0, '-function', @findobjfilter );  
    else
        h = findobjinternal(0);
    end
Run Code Online (Sandbox Code Playgroud)

因此,使用findobj显然是一种矫枉过正.