atan2(y, x):反正切

反正切函数或反正切函数。

声明

语法

retval = atan2(y, x)
elemental real(p) function atan2(y, x)

参数

y 输入值是复数表达式的虚部

\(x + iy\)

x 输入值,必须是复数表达式的实部。

返回值

返回值具有与输入值 y 相同的种类和类型。 返回复杂表达式 \(x + iy\) 的参数函数的主值。

描述

atan2(y, x) 计算复数表达式 \(x + iy\) 的参数函数的主值。 这用于从笛卡尔坐标转换为极坐标,并允许确定正确象限中的角度。

它也表示为:

\(tan^{-1}(\frac{y}{x})\)

如果 x 不为零,则结果位于以下范围内:

\(-\pi <= atan(x) <= \pi\)

如果y为正,则符号为正。

如果 y 为零且 x 严格为正,则结果为 0。

如果 x 为负数且 y 为正零,则结果为 \(\pi\)

如果 x 为负且 y 为负零,则结果为 \(-\pi\)

如果 x 为零,则结果的大小为 \(\frac{\pi}{2}\)

如果 y 为负实零,则结果为 \(\frac{-\pi}{2}\)

类型

支持的参数类型是实数。

interface atan2
    module procedure satan2, datan2
end interface

contains

interface
    elemental real(sp) function satan2(y, x)
    real(sp), intent(in) :: y, x
    end function

    elemental real(dp) function datan2(y, x)
    real(dp), intent(in) :: y, x
    end function

end interface

示例

program intrinsics_atan2
    implicit none
    print *, atan2(2.679676, 1.0)
end program

结果

0.699521642

也可以看看