atan2 (<valarray>)
Restituisce un valarray dei cui elementi sono uguali a arctangent di 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 forniscono valori per la coordinata y dell'argomento di arctangent._Right
Il tipo di dati o input numerico costante valarray dei cui elementi forniscono valori per la coordinata x dell'argomento di arctangent.
Valore restituito
Un valarray degli elementi I è uguale a arctangent:
_Left ]/ _Right[ In ] [ di per la prima funzione di modello.
_Left ] o [ _Right di per la seconda funzione di modello.
_Left / _Right [ In ] 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 la conoscenza di composizione consente il valore restituito da assegnare un angolo univoco tra +pi e – pi.
Se _Left e _Right hanno un numero diverso di elementi, 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
intestazione: <valarray>
Spazio dei nomi: deviazione standard