atan2 (<valarray>)
返回元素与分析元素反正切值相等指定用valarrays的组合常数和元素的valarray。
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
常量的数值数据类型或输入元素对反正切值参数的y坐标提供的值valarray。_Right
常量的数值数据类型或输入元素对反正切值参数的x坐标提供的值valarray。
返回值
元素 I 与反正切值都等于的valarray:
_Left I []/[] _Right I 第一个模板函数的。
_Left I []/第二个模板函数的 _Right。
_Left / _Right [] I 第三个模板函数的。
备注
返回的元素的单元在弧度。
此功能保留有关元素的符号的信息在标准正切功能丢失参数的,因此,该象限的这些知识可返回值分配。+pi之间的单个角度和– pi。
如果 _Left 和 _Right 的组件的一个不同的数字,则结果是未定义的。
示例
// 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;
}
要求
标头: <valarray>
命名空间: std