Determine if input is object of specified class
tf = isa(obj,
ClassName
)
tf = isa(obj,classCategory
)
tf = isa(obj,
returns ClassName
)true
if obj
is
an instance of the class specified by ClassName
,
and false
otherwise. isa
also
returns true if obj
is an instance of a class that
is derived from ClassName
.
obj
can be any MATLAB® variable.
ClassName
can be any of the following:
Name of any MATLAB class or fundamental type
Name of a Java®, or .NET class
tf = isa(obj,
returns classCategory
)true
if obj
is
an instance of any of the classes in the specified classCategory
,
and false
otherwise. isa
also
returns true if obj
is an instance of a class that
is derived from any of the classes in classCategory
.
classCategory
can be 'numeric'
, 'float'
,
or 'integer'
, representing a category of numeric
types:
To test for a sparse array, use issparse
.
To test for a complex array, use ~
isreal
.
These examples show the values returned by isa
when
passed different types:
Determine if the value returned by the pi
function
is of class double
:
isa(pi,'double')
ans =
1
More generally, determine if the value returned by the pi
function is a numeric value:
isa(pi,'numeric')
ans =
1
isa
also returns true
for
the float
category because the class double
is
a floating-point type. However, pi
does not return
an integer type:
isa(pi,'integer')
ans =
0
Determine if the 2-by-3 array returned by true
is of type logical:
isa(true(2,3),'logical')
ans =
1
Identify an instance of the MATLAB containers.Map
class:
colorcodes = containers.Map({'Color','RGB'},... {'Yellow',uint8([255,255,0])}); isa(colorcodes,'containers.Map') ans = 1
The map key, RGB
, references a uint8
array:
isa(colorcodes('RGB'),'integer') ans = 1
Specifying a particular integer class provides more specific testing:
if strcmp(colorcodes('Color'),'Yellow') && ... isa(colorcodes('RGB'),'uint8') disp '''The Color is Yellow and the RGB numbers are uint8 values''' end 'The Color is Yellow and the RGB numbers are uint8 values'