次の方法で共有


polar

指定した要素と引数に対応するデカルト フォームの複合型を返します。

template<class Type>
   complex<Type> polar(
      const Type& _Modulus,
      const Type& _Argument = 0
   );

パラメーター

  • _Modulus
    複雑な入力の要素。

  • _Argument
    入力する複素数の引数。

戻り値

北極の形式で指定される複素数のデカルトのフォーム。

解説

複素数の極座標形式は絶対値 r と引数を供給します。ここでこれらのパラメーターはデカルト コンポーネントの実数と虚数 a および b が方程式 a = r * cos ( ) and b = r * sin () という関係にあります*。*

使用例

// complex_polar.cpp
// compile with: /EHsc
#include <complex>
#include <iostream>

int main( )
{
   using namespace std;
   double pi = 3.14159265359;

   // Complex numbers can be entered in polar form with
   // modulus and argument parameter inputs but are
   // stored in Cartesian form as real & imag coordinates
   complex <double> c1 ( polar ( 5.0 ) );   // Default argument = 0
   complex <double> c2 ( polar ( 5.0 , pi / 6 ) );
   complex <double> c3 ( polar ( 5.0 , 13 * pi / 6 ) );
   cout << "c1 = polar ( 5.0 ) = " << c1 << endl;
   cout << "c2 = polar ( 5.0 , pi / 6 ) = " << c2 << endl;
   cout << "c3 = polar ( 5.0 , 13 * pi / 6 ) = " << c3 << endl;

   if ( (arg ( c2 ) <= ( arg ( c3 ) + .00000001) ) || 
        (arg ( c2 ) >= ( arg ( c3 ) - .00000001) ) )
      cout << "The complex numbers c2 & c3 have the "
           << "same principal arguments."<< endl;
   else
      cout << "The complex numbers c2 & c3 don't have the "
           << "same principal arguments." << endl;

   // the modulus and argument of a complex number can be rcovered
   double absc2 = abs ( c2 );
   double argc2 = arg ( c2 );
   cout << "The modulus of c2 is recovered from c2 using: abs ( c2 ) = "
        << absc2 << endl;
   cout << "Argument of c2 is recovered from c2 using:\n arg ( c2 ) = "
        << argc2 << " radians, which is " << argc2 * 180 / pi
        << " degrees." << endl; 
}
  
  

必要条件

ヘッダー: <complex>

名前空間: std