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

最佳答案

用:

numel(get(0,'Children'));

您还可以使用 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

因此,使用 findobj 显然是一个过大的杀伤力。

关于user-interface - 如何找出目前有多少个数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8790059/

10-10 10:56