當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。