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()方法。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP