Compartir a través de


atan2 (<valarray>)

Devuelve un valarray cuyos elementos son iguales al arco tangente de los componentes de Cartesian especificados por una combinación de constantes y elementos de 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 
   );

Parámetros

  • _Left
    El tipo de datos o la entrada numérica constante valarray cuyos elementos proporciona valores para la y- coordenada de argumento de arco tangente.

  • _Right
    El tipo de datos o la entrada numérica constante valarray cuyos elementos proporciona valores para la x- coordenada de argumento de arco tangente.

Valor devuelto

Un valarray de cuyos elementos I sea igual al arco tangente:

  • _Left []/ _Right[ I ] de I para la primera función de plantilla.

  • _Left []/ _Right de I para la segunda función de plantilla.

  • _Left / _Right [ I ] para la tercera función de plantilla.

Comentarios

Unidades de los elementos devueltos se en radianes.

Esta función conserva información sobre los signos de los componentes en el argumento que se perderá por la función estándar de la tangente, y este conocimiento de cuadrante habilita el valor devuelto para asignarla un ángulo único entre +pi y – pi.

Si _Left y _Right tienen un número diferente de elementos, el resultado es indefinido.

Ejemplo

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

Requisitos

Encabezado: <valarray>

Espacio de nombres: std