Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

ATAN2 (< valarray >)

 

Devuelve una valarray cuyos elementos son iguales al arcotangente de los componentes cartesianos 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
   );

_Left

La constante de datos numéricos tipo o entrada valarray cuyos elementos proporcionan los valores para la coordenada y del argumento arco tangente.

_Right

La constante de datos numéricos tipo o entrada valarray cuyos elementos proporcionan los valores para la coordenada x del argumento arco tangente.

Una valarray cuyos elementos I son iguales que el arco tangente de:

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

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

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

Las unidades de los elementos devueltos están en radianes.

Esta función conserva la información acerca de los signos de los componentes en el argumento que se pierde la función tangente estándar, y este conocimiento del cuadrante permite el valor devuelto debe asignarse a un único ángulo 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;
}
Es la valarray inicial para la coordenada x: (-1 1 1-1). Es la valarray inicial para la coordenada y: (1 1 -1-1). El atan2 (y / x) de la valarrays inicial es: 0.785398 radianes, que es 45degrees 2.35619 radianes, que es 135degrees -2,35619 radianes es - 135degrees-0.785398 radianes es - 45degrees

Requisitos

Encabezado: <valarray>

Espacio de nombres: std

Mostrar: