Find handle objects - MATLAB - MathWorks France (2024)

Class: handle

Find handle objects

expand all in page

Syntax

Hmatch = findobj(H)
Hmatch = findobj(H,property,value,...,property,value)
Hmatch = findobj(H,'-not',property,value)
Hmatch = findobj(H,'-regexp',property,expression)
Hmatch = findobj(H,property,value,logicaloperator,property,value)
Hmatch = findobj(H,'-function',fh)
Hmatch = findobj(H,'-function',property,fh)
Hmatch = findobj(H,'-class',class)
Hmatch = findobj(H,'-isa',class)
Hmatch = findobj(H,'-property',property)
Hmatch = findobj(H,'-method',methodname)
Hmatch = findobj(H,'-event',eventname)
Hmatch = findobj(H,'-depth',d,___)

Description

Hmatch = findobj(H) returns the objects listed in H and all of their descendants.

Hmatch = findobj(H,property,value,...,property,value) finds handle objects that have the specified property set to the specified value (compared using isequal).

Hmatch = findobj(H,'-not',property,value) inverts the expression in the following property value pair. That is, find objects whose specified property is not equal to value.

Hmatch = findobj(H,'-regexp',property,expression) uses the regular expression defined in expression to find properties with specific values. Not all classes supported the use of regular expression to find property values.

Hmatch = findobj(H,property,value,logicaloperator,property,value) applies the logical operator to the name/value pairs. Supported logical operators include:

  • '-or'

  • '-and' (default if you do not specify an operator)

  • '-xor'

Hmatch = findobj(H,'-function',fh) calls the function handle fh on the objects in H and returns the objects for which the function returns true.

Hmatch = findobj(H,'-function',property,fh) calls the function handle fh on the specified property’s value for the objects in H and returns the objects for which the function returns true. The function must return a scalar logical value.

Hmatch = findobj(H,'-class',class) finds all objects belonging to the specified class.

Hmatch = findobj(H,'-isa',class) finds all objects belonging to the specified class.

Hmatch = findobj(H,'-property',property) finds all object in H having the named property.

Hmatch = findobj(H,'-method',methodname) finds objects that have the specified method name.

Hmatch = findobj(H,'-event',eventname) finds objects that have the specified event name.

Hmatch = findobj(H,'-depth',d,___) specifies how many levels in the instance hierarchies under the objects in H to search.

Specify all -options as character vectors or string scalars.

Input Arguments

expand all

Objects to search from, specified as an array of object handles. Unless the you specify the '-depth' option, findobj searches the objects in the input array H and child objects in the instance hierarchy.

Class of object to find, specified as case-sensitive, quoted text.

Data Types: char | string

Property value, specified as a value or MATLAB® expression.

Method name, specified as case-sensitive quoted text.

Data Types: char | string

Event name, specified as case-sensitive quoted text.

Data Types: char | string

Depth of search, specified as an integer indicating the number of levels below any given object in the input array H.

  • d = n — Search n levels of the hierarchy below each object in H

  • d = 0 — Search only the same level as the objects in H.

  • d = inf — Search all levels below objects in H. This is the default.

Function handle, specifying the function that is evaluated for each object in the input array H. This function must return a scalar, logical value indicating whether there is a match (true) or not (false).

Output Arguments

expand all

Objects found by search, returned as a handle array.

Attributes

Accesspublic

To learn about attributes of methods, see Method Attributes.

Examples

Object with Specific Property Value

Find the object with a specific property value. Given the handle class, BasicHandle:

classdef BasicHandle < handle properties Prop1 end methods function obj = BasicHandle(val) if nargin > 0 obj.Prop1 = val; end end endend

Create an array of BasicHandle objects:

h(1) = BasicHandle(7);h(2) = BasicHandle(11);h(3) = BasicHandle(27);

Find the handle of the object whose Prop1 property has a value of 7:

h7 = findobj(h,'Prop1',7);h7.Prop1
ans = 7

Object with Specific Property Name

Find the object with a specific dynamic property. Given the button class:

classdef button < dynamicprops properties UiHandle end methods function obj = button(pos) if nargin > 0 if length(pos) == 4 obj.UiHandle = uicontrol('Position',pos,... 'Style','pushbutton'); else error('Improper position') end end end end end

Create an array of button objects, only one element of which defines a dynamic property. Use findobj to get the handle of the object with the dynamic property named ButtonCoord:

b(1) = button([20 40 80 20]);addprop(b(1),'ButtonCoord');b(1).ButtonCoord = [2,3];b(2) = button([120 40 80 20]);b(3) = button([220 40 80 20]);h = findobj(b,'-property','ButtonCoord');h.ButtonCoord
ans = 2 3

Find Objects Using Regular Expressions

Find objects based on the value of object properties using regular expressions. While findobj has a -regexp options, not all classes support this option. This example uses the -function option to use a regular expression from a function as an alternative to the -regexp option.

This class defines a static method that builds an object array. Each object has a Name property that contains character representing the array element number.

classdef FindRegExpr < handle properties Name end methods (Static) function b = regXArray b = FindRegExpr.empty(0,50); for i = 1:50 b(i).Name = sprintf('%d',i); end end endendA = FindRegExpr.regXArray;
a = 1×50 FindRegExpr array with properties: Name

Find the objects whose Name property contains a character vector beginning with the character '1'.

subArray = findobj(a, '-function', 'Name', @(x) ~isempty(regexp(x, '^1\d*')));
subArray = 11×1 testRegExpr array with properties: Name

Tips

  • findobj has access only to public members.

  • If there are no matches, findobj returns an empty array of the same class as the input array H.

  • Logical operator precedence follows MATLAB precedence rules. For more information, see Operator Precedence.

  • Control precedence by grouping within cell arrays

Extended Capabilities

Thread-Based Environment
Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

Version History

Introduced in R2008a

See Also

findprop

Commande MATLAB

Vous avez cliqué sur un lien qui correspond à cette commande MATLAB:

 

Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.

Find handle objects - MATLAB- MathWorks France (1)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

Find handle objects - MATLAB
- MathWorks France (2024)

FAQs

How do you get the handle of an object in MATLAB? ›

h = gco returns the handle of the current object. h = gco(figure_handle) returns the handle of the current object in the figure specified by figure_handle .

How do you check if an object is a handle in MATLAB? ›

Use isgraphics to determine if a variable is a valid graphics object handle. A handle variable ( h in this case) can still exist, but not be a valid handle if the object to which it refers has been deleted.

How do you find all handles in MATLAB? ›

h = findall( objhandles , prop 1, value 1,..., prop N, value N) returns the handles of all objects in the hierarchy that have the specified properties set to the specified values. For example, h = findall(gcf,'Type','text','Color','r') returns all text objects in the current figure that have a red color.

How do you find the objects of a class in MATLAB? ›

Hmatch = findobj( H ,'-class', class ) finds all objects belonging to the specified class. Hmatch = findobj( H ,'-isa', class ) finds all objects belonging to the specified class.

How do you find the current handle in MATLAB? ›

Use the gcf command to get the current figure handle. surf(peaks) fig = gcf; % current figure handle fig.

What is a handle object? ›

Handle objects enable more than one variable to refer to the same object. Handle-object behavior affects what happens when you copy handle objects and when you pass them to functions.

How do you check if a handle is valid in MATLAB? ›

B = isvalid( H ) returns a logical array in which each element is true if the corresponding element in H is a valid handle. A handle variable becomes invalid if the object has been deleted. Within a class delete method, isvalid always returns false . You cannot override the isvalid method in handle subclasses.

What is a handle in MATLAB? ›

What Is a Function Handle? A function handle is a MATLAB® data type that stores an association to a function. Indirectly calling a function enables you to invoke the function regardless of where you call it from.

What is the difference between handle object and value object in MATLAB? ›

Value objects are associated with a specific variable. Handle objects can be referenced by multiple variables. Whether you implement a handle or value class depends on what your class represents and how you want objects to behave. MATLAB® handle variables support reference semantics.

What is function to function handle in MATLAB? ›

A function handle is a MATLAB® data type that represents a function. A typical use of function handles is to pass a function to another function. For example, you can use function handles as input arguments to functions that evaluate mathematical expressions over a range of values.

How do you check handle equality in MATLAB? ›

Equality of Handle Objects

You can use == and isequal to test for two different relationships among handle objects: The handles refer to the same object: == and isequal return true . The handles refer to objects of the same class that have the same values, but are not the same objects — only isequal returns true .

What is the Find command in MATLAB? ›

Description. k = find( X ) returns a vector containing the linear indices of each nonzero element in array X . If X is a vector, then find returns a vector with the same orientation as X . If X is a multidimensional array, then find returns a column vector of the linear indices of the result.

How do you identify an object in MATLAB? ›

You can recognize objects using a variety of models, including:
  1. Feature extraction and machine learning models.
  2. Deep learning models such as CNNs.
  3. Bag-of-words models with features such as SURF and MSER.
  4. Gradient-based and derivative-based matching approaches.

How do you check if an object belongs to a class? ›

The instanceof operator allows to check whether an object belongs to a certain class. It also takes inheritance into account. Such a check may be necessary in many cases. For example, it can be used for building a polymorphic function, the one that treats arguments differently depending on their type.

How we can identify object classes? ›

How do you identify important classes and objects?
  • Use object oriented analysis and modeling. Be the first to add your personal experience.
  • Apply design principles and patterns. Be the first to add your personal experience.
  • Use naming conventions and documentation. ...
  • Test and refactor your design. ...
  • Here's what else to consider.
Aug 10, 2023

What is a figure handle in MATLAB? ›

It is the second highest level object you can create. To create a figure, use the figure function like so: >> fhandle = figure; This creates a new figure window and stores all the figure data in the variable fhandle.

How do you convert a function to a handle in MATLAB? ›

ht = matlabFunction( f ) converts the symbolic expression or function f to a MATLAB® function with handle ht . If there is an equivalent MATLAB function operating on the double data type for the symbolic expression or function, then the converted function can be used without Symbolic Math Toolbox™.

How do you find the property of an object in MATLAB? ›

The findprop method returns the matlab. metadata. Property object for the specified object and property. The property can also be a dynamic property created by the addprop method of the dynamicprops class.

Top Articles
Latest Posts
Article information

Author: Francesca Jacobs Ret

Last Updated:

Views: 5361

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.