2012-01-09 6 views

उत्तर

8

उपयोग:

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

आप कर सकते हैं findobj फ़ंक्शन का उपयोग करके @triazotan का सुझाव भी दिया गया है। हालांकि यह धीमा हो जाएगा, क्योंकि आपको अपनी सभी वस्तुओं से गुज़रना होगा।

संपादित करें: मैं देखना कैसे findobj वास्तव में काम करता है तय कर लिया है। बाहर चेक builtin (: यह प्राप्त (0, 'बच्चे')
यहाँ फ़ाइल से findobj बुलाया जा रहा है से पचाने छोटा है में वस्तुओं के सभी के माध्यम से जा के एक अधिक जटिल तरीका है जो अनिवार्य रूप से एक प्राप्त (0 है 'के लिए', 0, 'ShowHiddenHandles'), 'बच्चे') बीच में
:

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 स्पष्ट रूप से एक overkill है।

3

मैं किसी भी सीधा रास्ता पता नहीं है, लेकिन आप की कोशिश कर सकते:

length(findobj('Type','figure')) 

(यानी आंकड़ा की गिनती संख्या findobj द्वारा दिया हैंडल)

संबंधित मुद्दे