Accelerating the pace of engineering and science

Documentation Center

• Trial Software

i

Imaginary unit

Description

1i returns the basic imaginary unit. i is equivalent to sqrt(-1).

You can use i to enter complex numbers. You also can use the character j as the imaginary unit. To create a complex number without using i and j, use the complex function.

example

z = a + bi returns a complex numerical constant, z.

example

z = x + 1i*y returns a complex array, z.

Examples

expand all

Complex Scalar

Create a complex scalar and use the character, i, without a multiplication sign as a suffix in forming a complex numerical constant.

`z = 1+2i`
```z =

1.0000 + 2.0000i```

Complex Vector

Create a complex vector from two 4-by-1 vectors of real numbers.

```x = [1:4]';
y = [8:-2:2]';

z = x+1i*y```
```z =

1.0000 + 8.0000i
2.0000 + 6.0000i
3.0000 + 4.0000i
4.0000 + 2.0000i
```

z is a 4-by-1 complex vector.

Complex Exponential

Create a complex scalar representing a complex vector with radius, r, and angle from the origin, theta.

```r = 4;
theta = pi/4;

z = r*exp(1i*theta)```
```z =

2.8284 + 2.8284i```

Input Arguments

expand all

a — Real component of complex scalarscalar

Real component of a complex scalar, specified as a scalar.

Data Types: single | double

b — Imaginary component of complex scalarscalar

Imaginary component of a complex scalar, specified as a scalar.

If b is double, you can use the character, i, without a multiplication sign as a suffix in forming the complex numerical constant.

Example: 7i

If b is single, you must use a multiplication sign when forming the complex numerical constant.

Example: single(7)*i

Data Types: single | double

x — Real component of complex arrayscalar | vector | matrix | multidimensional array

Real component of a complex array, specified as a scalar, vector, matrix, or mulitdimensional array.

The size of x must match the size of y, unless one is a scalar. If either x or y is a scalar, MATLAB® expands the scalar to match the size of the other input.

single can combine with double.

Data Types: single | double

y — Imaginary component of complex arrayscalar | vector | matrix | multidimensional array

Imaginary component of a complex array, specified as a scalar, vector, matrix, or mulitdimensional array.

The size of x must match the size of y, unless one is a scalar. If either x or y is a scalar, MATLAB expands the scalar to match the size of the other input.

single can combine with double.

Data Types: single | double

Output Arguments

expand all

z — Complex arrayscalar | 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.

z is single if at least one input argument is single. Otherwise, z is double.

expand all

Tips

• For speed and improved robustness in complex arithmetic, use 1i and 1j instead of i and j.

• Since i is a function, it can be overridden and used as a variable. However, it is best to avoid using i and j for variable names if you intend to use them in complex arithmetic.

• Use the complex function to create a complex output in the following cases:

• When the names i and j might be used for other variables (and do not equal sqrt(-1))

• When the inputs are not double or single

• When the imaginary component is all zeros
{"found_math": false, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}