Condividi tramite


atan2 (<valarray>)

Restituisce un valarray dei cui elementi sono uguali a arctangent componenti cartesiane specificata da una combinazione di costanti e di elementi di valarrays.

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 
   );

Parametri

  • _Left
    Il tipo di dati o input numerico costante valarray dei cui elementi costituiscono i valori per la coordinata y dell'argomento di arctangent.

  • _Right
    Il tipo di dati o input numerico costante valarray dei cui elementi costituiscono i valori per la coordinata x dell'argomento di arctangent.

Valore restituito

Un valarray degli elementi I è uguale al arctangent:

  • _Left ]/ _Right[ I ] [ della prima funzione di modello.

  • _Left ]/[ di _Right per la seconda funzione di modello.

  • _Left / _Right [ I ] per la terza funzione di modello.

Note

Le unità degli elementi restituiti sono in radianti.

Questa funzione conserva le informazioni sui segni dei componenti dell'argomento che viene perso dalla funzione standard di tangente e a queste competenze di composizione consente il valore restituito da assegnare un angolo univoco tra +pi e - pi.

Se _Left e _Right hanno un numero di elementi diverso, il risultato sarà indefinito.

Esempio

// 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;
}
  

Requisiti

Header: <valarray>

Spazio dei nomi: std