当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ valarray atan2用法及代码示例



描述

它以相同的顺序返回一个包含所有元素反正切的主值的 valarray。计算它的切线是坐标 y/x 的商,使用它们的符号来确定适当的象限。

声明

以下是 std::atan2 函数的声明。

template<class T> valarray<T> atan2 (const valarray<T>& y, const valarray<T>& x);
template<class T> valarray<T> atan2 (const valarray<T>& y, const T& x);
template<class T> valarray<T> atan2 (const T& y, const valarray<T>& x);

C++11

template<class T> valarray<T> atan2 (const valarray<T>& y, const valarray<T>& x);
template<class T> valarray<T> atan2 (const valarray<T>& y, const T& x);
template<class T> valarray<T> atan2 (const T& y, const valarray<T>& x);

参数

  • x- 它包含定义了一元函数 abs 的类型的元素。

  • y- 它是一个带有 y 坐标的 valarray 元素。

返回值

它以相同的顺序返回一个包含所有元素反正切的主值的 valarray。计算它的切线是坐标 y/x 的商,使用它们的符号来确定适当的象限。

异常

Basic guarantee- 如果对元素执行的任何操作引发异常。

数据竞争

访问所有有效复制的元素。

示例

在下面的例子中解释了 std::atan2 函数。

#include <iostream>    
#include <cstddef>     
#include <cmath>       
#include <valarray>    

int main () {
   double y[] = {0.0, 3.0, -2.0};
   double x[] = {-3.0, 3.0, -1.0};
   std::valarray<double> ycoords (y,3);
   std::valarray<double> xcoords (x,3);

   std::valarray<double> results = atan2 (ycoords,xcoords);

   std::cout << "results:";
   for (std::size_t i=0; i<results.size(); ++i)
      std::cout << ' ' << results[i];
   std::cout << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

results:3.14159 0.785398 -2.03444

相关用法


注:本文由纯净天空筛选整理自 C++ Valarray Library - atan2 Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。