C++程式:求給定值的反正切


三角學中最常用的比率包括正弦、餘弦、正切等等。您可以使用角度計算這些比率。如果我們知道比率值,我們也可以使用反三角函式計算角度。

本教程將向您展示如何使用C++的反正切(arctan)函式以弧度計算使用正切值的角度。

atan()函式

使用atan()函式和反三角正切函式計算角度。此函式包含在C++標準庫中。在使用此方法之前,我們必須匯入cmath庫。此方法返回以弧度表示的角度,並以正切值作為引數。以下是簡單的語法:

語法

#include < cmath >
atan( <tangent value> )

正切值必須在[-∞, +∞]範圍內。返回值將在$\mathrm{[-\:\frac{\pi}{2},\frac{\pi}{2}]}$範圍內(包含兩端)

演算法

  • 輸入正切值x
  • 使用atan(x)計算tan⁻¹(x)
  • 返回結果。

示例

#include <iostream> #include <cmath> using namespace std; float solve( float x ) { float answer; answer = atan( x ); return answer; } int main() { float angle, ang_deg; angle = solve( 1 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given tangent value 1 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given tangent value 0 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 999999 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given tangent value 999999 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( -999999 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given tangent value -999999 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; }

輸出

The angle (in radian) for given tangent value 1 is: 0.785398 = 45 (in degrees)
The angle (in radian) for given tangent value 0 is: 0 = 0 (in degrees)
The angle (in radian) for given tangent value 999999 is: 1.5708 = 90 (in degrees)
The angle (in radian) for given tangent value -999999 is: -1.5708 = -90 (in degrees)

atan()方法在此情況下接收正切值,並返回以弧度表示的角度。我們使用下面的公式將此輸出從弧度轉換為度數。

$$\mathrm{\theta_{deg}\:=\:\theta_{rad}\:\times\:\frac{180}{\pi}}$$

結論

要根據餘弦值執行反三角運算,我們使用cmath庫中的acos()函式。此函式以餘弦值作為輸入,並返回以弧度為單位的給定角度。在較舊版本的C/C++中,返回型別為double,但在C++的更高版本中,還增加了float和long double的過載形式。當整數作為引數傳遞時,它將輸入引數轉換為double,並呼叫對應於double型別引數的acos()方法。

更新於:2022年10月19日

瀏覽量:396

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.