Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::atan(std::complex)

      From cppreference.com
      <cpp‎ |numeric‎ |complex
       
       
       
       
      Defined in header<complex>
      template<class T>
      complex<T> atan(const complex<T>& z);
      (since C++11)

      Computes complex arc tangent of a complex valuez. Branch cut exists outside the interval[−i, +i] along the imaginary axis.

      Contents

      [edit]Parameters

      z - complex value

      [edit]Return value

      If no errors occur, complex arc tangent ofz is returned, in the range of a strip unbounded along the imaginary axis and in the interval[−π/2, +π/2] along the real axis.

      Errors and special cases are handled as if the operation is implemented by-i* std::atanh(i* z), wherei is the imaginary unit.

      [edit]Notes

      Inverse tangent (or arc tangent) is a multivalued function and requires a branch cut on the complex plane. The branch cut is conventionally placed at the line segments(-∞i,-i) and(+i,+∞i) of the imaginary axis.

      The mathematical definition of the principal value of inverse tangent isatan z = -
      1
      2
      i [ln(1 - iz) - ln (1 + iz)]
      .

      [edit]Example

      Run this code
      #include <cmath>#include <complex>#include <iostream> int main(){std::cout<<std::fixed;std::complex<double> z1(0.0,2.0);std::cout<<"atan"<< z1<<" = "<<std::atan(z1)<<'\n'; std::complex<double> z2(-0.0,2.0);std::cout<<"atan"<< z2<<" (the other side of the cut) = "<<std::atan(z2)<<'\n'; std::complex<double> z3(0.0,INFINITY);std::cout<<"2 * atan"<< z3<<" = "<<2.0*std::atan(z3)<<'\n';}

      Output:

      atan(0.000000,2.000000) = (1.570796,0.549306)atan(-0.000000,2.000000) (the other side of the cut) = (-1.570796,0.549306)2 * atan(0.000000,inf) = (3.141593,0.000000)

      [edit]See also

      computes arc sine of a complex number (\({\small\arcsin{z}}\)arcsin(z))
      (function template)[edit]
      computes arc cosine of a complex number (\({\small\arccos{z}}\)arccos(z))
      (function template)[edit]
      computes tangent of a complex number (\({\small\tan{z}}\)tan(z))
      (function template)[edit]
      (C++11)(C++11)
      computes arc tangent (\({\small\arctan{x}}\)arctan(x))
      (function)[edit]
      applies the functionstd::atan to each element of valarray
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/atan&oldid=150832"

      [8]ページ先頭

      ©2009-2025 Movatter.jp