Four-quadrant inverse tangent
P = atan2(
returns the
four-quadrant inverse
tangent (tan-1) of Y
,X
)Y
and
X
, which must be real. The atan2
function follows the convention that atan2(x,x)
returns
0
when x
is mathematically zero (either
0
or -0
).
Find the four-quadrant inverse tangent of the point y = 4
, x = -3
.
atan2(4,-3)
ans = 2.2143
Convert 4 + 3i
into polar coordinates.
z = 4 + 3i; r = abs(z)
r = 5
theta = atan2(imag(z),real(z))
theta = 0.6435
The radius r
and the angle theta
are the polar coordinate representation of 4 + 3i
.
Alternatively, use angle
to calculate theta
.
theta = angle(z)
theta = 0.6435
Convert r
and theta
back into the original complex number.
z = r*exp(i*theta)
z = 4.0000 + 3.0000i
Plot atan2(Y,X)
for -4<Y<4
and -4<X<4
.
Define the interval to plot over.
[X,Y] = meshgrid(-4:0.1:4,-4:0.1:4);
Find atan2(Y,X)
over the interval.
P = atan2(Y,X);
Use surf
to generate a surface plot of the function. Note that plot
plots the discontinuity that exists at Y=0
for all X<0
.
surf(X,Y,P); view(45,45);
Y
— y-coordinatesy-coordinates, specified as a scalar, vector,
matrix, or multidimensional array. Inputs Y
and X
must
either be the same size or have sizes that are compatible (for example, Y
is
an M
-by-N
matrix and X
is
a scalar or 1
-by-N
row vector).
For more information, see Compatible Array Sizes for Basic Operations.
Data Types: single
| double
X
— x-coordinatesx-coordinates, specified as a scalar, vector,
matrix, or multidimensional array. Inputs Y
and X
must
either be the same size or have sizes that are compatible (for example, Y
is
an M
-by-N
matrix and X
is
a scalar or 1
-by-N
row vector).
For more information, see Compatible Array Sizes for Basic Operations.
Data Types: single
| double
For real inputs, atan2
has a few behaviors
that differ from those recommended in the IEEE®-754 Standard.
MATLAB® | IEEE | |
---|---|---|
atan2(0,-0) |
|
|
atan2(-0,-0) |
|
|
This function fully supports tall arrays. For more information, see Tall Arrays.
Usage notes and limitations:
If you use atan2
with single type and double type
operands, the generated code might not produce the same result as
MATLAB. See Binary Element-Wise Operations with Single and Double Operands (MATLAB Coder).
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
You have a modified version of this example. Do you want to open this example with your edits?