Freigeben über


sqrt

Berechnet die Quadratwurzel einer komplexen Zahl.

template<class Type> 
   complex<Type> sqrt( 
      const complex<Type>& _ComplexNum 
   );

Parameter

  • _ComplexNum
    Die komplexe Zahl, deren Quadratwurzel durchsucht werden soll.

Rückgabewert

Die Quadratwurzel einer komplexen Zahl.

Hinweise

Die Quadratwurzel hat einen Phasenwinkel im halb geöffneten Intervall (- pi/2, pi/2].

Die Verzweigungsschnitte in komplexen Ebene sind auf der negativen tatsächlichen Achse.

Die Quadratwurzel einer komplexe Zahl hat ein Betrag, das die Quadratwurzel der Eingabezahl und des Arguments ist, das um die der Eingabezahl ist.

Beispiel

// complex_sqrt.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 ( 25.0 , pi / 2 ) );
   complex <double> c2 = sqrt ( c1 );
   cout << "c1 = polar ( 5.0 ) = " << c1 << endl;
   cout << "c2 = sqrt ( c1 ) = " << c2 << endl;


   // The modulus and argument of a complex number can be recovered
   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;
   
   // The modulus and argument of c2 can be directly calculated
   absc2 = sqrt( abs ( c1 ) );
   argc2 = 0.5 * arg ( c1 );
   cout << "The modulus of c2 = sqrt( abs ( c1 ) ) =" << absc2 << endl;
   cout << "The argument of c2 = ( 1 / 2 ) * arg ( c1 ) ="
        << argc2 << " radians,\n which is " << argc2 * 180 / pi
        << " degrees." << endl;
}
  

Anforderungen

Header: <komplex>

Namespace: std