Create complex array
collapse all in page
Syntax
z = complex(a,b)
z = complex(x)
Description
example
z = complex(a,b)
createsa complex output, z
, from two real inputs, suchthat z = a + bi
.
The complex
function provides a useful substitutefor expressions, such as a + 1i*b
or a+ 1j*b
, when
a
andb
arenotdouble
orsingle
b
is all zeros
example
z = complex(x)
returnsthe complex equivalent of x
, such that isreal(z)
returnslogical 0
(false
).
If
x
is real, thenz
isx+ 0i
.If
x
is complex, thenz
isidentical tox
.
Examples
collapse all
Complex Scalar from Two Real Scalars
Open Live Script
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
Open Live Script
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
Open Live Script
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
collapse all
a
— Real component
scalar | vector | matrix | multidimensional array
Real component, specified as a scalar, vector, matrix, or multidimensionalarray.
The size of a
must match the size of b
,unless one is a scalar. If either a
or b
isa scalar, MATLAB® expands the scalar to match the size of theother 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
isa scalar, MATLAB expands the scalar to match the size of theother 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 multidimensionalarray.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Complex Number Support: Yes
Output Arguments
collapse all
z
— Complex array
scalar | vector | matrix | multidimensional array
Complex array, returned as a scalar, vector, matrix, or multidimensionalarray.
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
iscomplex and the value of all its imaginary components is0
.In contrast, the additiona + 0i
returns a strictlyreal result.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This function fully supports tall arrays. Formore 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™.
This function fully supports GPU arrays. 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
See Also
abs | angle | conj | i | imag | isreal | j | real
Topics
- Create Complex Numbers
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:
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)
Contact your local office