Computes the atan2 function for its argument. The general
syntax for its use is
y = atan2(y,x)
where x and y are n-dimensional arrays of numerical type.
Integer types are promoted to the double type prior to
calculation of the atan2 function. The size of the output depends
on the size of x and y. If x is a scalar, then z
is the same size as y, and if y is a scalar, then z
is the same size as x. The type of the output is equal to the type of
|y/x|.
The function is defined (for real values) to return an
angle between -pi and pi. The signs of x and y
are used to find the correct quadrant for the solution. For complex
arguments, the two-argument arctangent is computed via
For real valued arguments
x,y, the function is computed directly using
the standard C library's numerical atan2 function. For both
real and complex arguments x, note that generally
due to the periodicities of
cos(x) and sin(x).
The following code demonstates the difference between the atan2
function and the atan function over the range [-pi,pi].
--> x = linspace(-pi,pi); --> sx = sin(x); cx = cos(x); --> plot(x,atan(sx./cx),x,atan2(sx,cx))
Note how the two-argument atan2 function (green line)
correctly ``unwraps'' the phase of the angle, while the atan
function (red line) wraps the angle to the interval [-\pi/2,\pi/2].