complex - Create complex array - MATLAB (original) (raw)
Syntax
Description
[z](#bt4jyjw-1-z) = complex([a](#bt4jyjw-1-a),[b](#bt4jyjw-1-b))
creates a complex output, z
, from two real inputs, such that z = a + bi
.
The complex
function provides a useful substitute for expressions, such as a + 1i*b
or a + 1j*b
, when
a
andb
are notdouble
orsingle
b
is all zeros
[z](#bt4jyjw-1-z) = complex([x](#bt4jyjw-1-x))
returns the complex equivalent of x
, such that isreal(z)
returns logical 0
(false
).
- If
x
is real, thenz
isx + 0i
. - If
x
is complex, thenz
is identical tox
.
Examples
Use the complex
function to create the complex scalar, 3 + 4i
.
Create a complex uint8
vector from two real uint8
vectors. The size of z
, 4-by-1, is the same as the size of the input arguments.
a = uint8([1;2;3;4]); b = uint8([2;2;7;7]);
z = complex(a,b)
z = 4×1 uint8 column vector
1 + 2i 2 + 2i 3 + 7i 4 + 7i
Create a complex scalar with zero imaginary part.
Verify that z
is complex.
Input Arguments
Real component, specified as a scalar, vector, matrix, or multidimensional array.
The size of a
must match the size of b
, unless one is a scalar. If either a
or b
is a scalar, MATLAB® expands the scalar to match the size of the other input.
a
and b
can have different data types. However, if either a
or b
is an integer data type, then the other input must have the same integer type or be a full (not sparse) scalar double.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Imaginary component, specified as a scalar, vector, matrix, or multidimensional array.
The size of b
must match the size of a
, unless one is a scalar. If either a
or b
is a scalar, MATLAB expands the scalar to match the size of the other input.
a
and b
can have different data types. However, if either a
or b
is an integer data type, then the other input must have the same integer type or be a full (not sparse) scalar double.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Input array, specified as a scalar, vector, matrix, or multidimensional array.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Complex Number Support: Yes
Output Arguments
Complex array, returned as a scalar, vector, matrix, or multidimensional array.
The size of z
is the same as the input arguments.
The following describes the data type of z
when a
andb
have different data types.
- If either
a
orb
issingle
, thenz
issingle
. - If either
a
orb
islogical
, thenz
is the data type of the nonlogical input. - If either
a
orb
is an integer data type, thenz
is the same integer data type.
Additionally, z
is only sparse when both input arguments a
and b
are sparse.
Tips
- If
b
contains only zeros, thenz
is complex and the value of all its imaginary components is0
. In contrast, the additiona + 0i
returns a strictly real result.
Extended Capabilities
Thecomplex
function fully supports tall arrays. For more information, see Tall Arrays.
The complex
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