complex
Create complex array
Description
Examples
Complex Scalar from Two Real Scalars
Use the complex
function to create the complex scalar, 3 + 4i
.
z = complex(3,4)
z = 3.0000 + 4.0000i
Complex Vector from Two Real Vectors
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 = 4x1 uint8 column vector
1 + 2i
2 + 2i
3 + 7i
4 + 7i
Complex Scalar from One Real Scalar
Create a complex scalar with zero imaginary part.
z = complex(12)
z = 12.0000 + 0.0000i
Verify that z
is complex.
isreal(z)
ans = logical
0
Input Arguments
a
— Real component
scalar | vector | matrix | multidimensional array
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
b
— Imaginary component
scalar | vector | matrix | multidimensional array
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
x
— Input array
scalar | vector | matrix | multidimensional array
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
z
— Complex array
scalar | vector | matrix | multidimensional array
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
and
b
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
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
The
complex
function fully supports tall arrays. For more information,
see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
HDL Code Generation
Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
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).
Distributed Arrays
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
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
- United Kingdom (English)