atan2 (<valarray>)

Gibt ein Array von Werten zurück, dessen Elemente gleich den Arkustangens der kartesischen Komponenten sind, die durch eine Kombination der Konstanten und der Elemente von Wertarrays angegeben werden.

template<class Type>
   valarray<Type> atan2(
      const valarray<Type>& _Left,
      const valarray<Type>& _Right
   );
template<class Type>
   valarray<Type> atan2(
      const valarray<Type> _Left, 
      const Type& _Right
   );
template<class Type>
   valarray<Type> atan2(
      const Type& _Left, 
      const valarray<Type>& _Right
   );

Parameter

  • _Left
    Der konstante numerische Datentyp oder der Eingabewertarray, dessen Elemente die Werte für die Y-Koordinate des Arkustangensarguments bereitstellen.

  • _Right
    Der konstante numerische Datentyp oder der Eingabewertarray, dessen Elemente die Werte für die X-Koordinate des Arkustangensarguments bereitstellen.

Rückgabewert

Von ein Wertarray, dem Elemente I gleich den Arkustangens gehören:

  • I_Left []/[ _Right I ] für die erste Vorlagenfunktion.

  • _Left [ i- ]/ _Right für die zweite Vorlagenfunktion.

  • _Left / _Right I [] für die dritte Vorlagenfunktion.

Hinweise

Die Einheiten der zurückgegebenen Elemente sind im Bogenmaß.

Diese Funktion erhält Informationen über die Zeichen der Komponenten im Argument bei, das durch die Standardtangensfunktion verloren wird, und diese Kenntnisse des Quadranten können den einen eindeutigen Winkel zwischen +pi zugewiesen werden Rückgabewert, und - Pi.

Wenn _Left und _Right eine andere Anzahl von Elementen aufweisen, ist das Ergebnis nicht definiert.

Beispiel

// valarray_atan2.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
#include <iomanip>

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

   valarray<double> va1y ( 1 , 4 ), va1x ( 1 , 4 );
   va1x [ 1 ] = -1;
   va1x [ 2 ] = -1;
   va1y [ 2 ] = -1;
   va1y [ 3 ] = -1;
   valarray<double> va2 ( 4 );

   cout << "The initial valarray for the x coordinate is: ( ";
   for ( i = 0 ; i < 4 ; i++ )
      cout << va1x [ i ] << " ";
   cout << ")." << endl;

   cout << "The initial valarray for the y coordinate is: ( ";
   for ( i = 0 ; i < 4 ; i++ )
      cout << va1y [ i ] << " ";
   cout << ")." << endl;

   va2 = atan2 ( va1y , va1x );
   cout << "The atan2 ( y / x ) of the initial valarrays is:\n";
   for ( i = 0 ; i < 4 ; i++ )
      cout << setw( 10 ) << va2 [ i ]
           << "  radians, which is  "
           << setw( 11 ) << ( 180/pi ) * va2 [ i ]
           << "degrees" << endl;
   cout << endl;
}
  
  
  

Anforderungen

Header: <valarray>

Namespace: std