isreal - Determine whether array uses complex storage - MATLAB (original) (raw)
Determine whether array uses complex storage
Syntax
Description
tf = isreal([A](#bt4oz5d-1-A))
returns logical1
(true
) when numeric array A
does not have an imaginary part, and logical 0
(false
) otherwise. isreal
returns logical 0
(false
) for complex values that have zero imaginary part, since the value is still stored as a complex number.
Examples
Define a 3-by-4 matrix, A
.
A = [7 3+4i 2 5i;... 2i 1+3i 12 345;... 52 108 78 3];
Determine whether the array is real.
Since A
contains complex elements, isreal
returns false.
Use the complex
function to create a scalar, A
, with zero-valued imaginary part.
Determine whether A
is real.
A
is not real because it has an imaginary part, even though the value of the imaginary part is 0
.
Determine whether A
contains any elements with zero-valued imaginary part.
A
contains elements with zero-valued imaginary part.
Define two complex scalars, x
and y
.
Determine whether the addition of two complex scalars, x
and y
, is real.
MATLAB® drops the zero imaginary part.
A
is real since it does not have an imaginary part.
Create a cell array.
C{1,1} = pi; % double C{2,1} = 'John Doe'; % char array C{3,1} = 2 + 4i; % complex double C{4,1} = ispc; % logical C{5,1} = magic(3); % double array C{6,1} = complex(5,0) % complex double
C=6×1 cell array {[ 3.1416]} {'John Doe' } {[2.0000 + 4.0000i]} {[ 0]} {3×3 double } {[5.0000 + 0.0000i]}
C
is a 1-by-6 cell array.
Loop over the elements of a cell array to distinguish between real and complex elements.
for k = 1:6 x(k,1) = isreal(C{k,1}); end
x
x = 6×1 logical array
1 1 0 1 1 0
All but C{3,1}
and C{6,1}
are real arrays.
Input Arguments
Input array, specified as a scalar, vector, matrix, or multidimensional array.
- For numeric data types, if
A
does not have an imaginary part,isreal
returnstrue
; ifA
does have an imaginary partisreal
returnsfalse
. - For
duration
,calendarDuration
,logical
, andchar
data types,isreal
always returnstrue
. - For
string
,table
,cell
,struct
,datetime
,function_handle
, andobject
data types,isreal
always returnsfalse
.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
| datetime
| duration
| calendarDuration
| function_handle
Complex Number Support: Yes
Tips
- To check whether each element of an array
A
is real, useA == real(A)
. isreal(complex(A))
always returnsfalse
, even when the imaginary part is all zeros.~isreal(x)
detects arrays that have an imaginary part, even if it is all zeros.
Extended Capabilities
The isreal
function fully supports GPU arrays. To run the function on a GPU, specify the input data as a gpuArray (Parallel Computing Toolbox). For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Version History
Introduced before R2006a