函数模板
<valarray>

std::atan

template<class T> valarray<T> atan (const valarray<T>& x);
计算valarray元素的反正切值
返回一个valarray对象,其中包含x的所有元素的反正切值的(以弧度表示的)主值,顺序与原元素相同。

该函数对 x 中的每个元素调用一次 acos(未限定)。

此函数重载了cmath的atan

参数

x
一个valarray对象,其元素类型支持一元函数atan

返回值

一个valarray对象,包含x的元素的反正切值。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// atan valarray example
#include <iostream>     // std::cout
#include <cstddef>      // std::size_t
#include <cmath>        // std::atan(double)
#include <valarray>     // std::valarray(valarray)

int main ()
{
  double val[] = {0.0, 0.25, 0.5, 0.75, 1.0};
  std::valarray<double> foo (val,5);

  std::valarray<double> bar = atan (foo);

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

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

  return 0;
}

输出

foo: 0 0.25 0.5 0.75 1
bar: 0 0.244979 0.463648 0.643501 0.785398


另见