C++程式查詢給定值的雙曲餘弦反函式
類似於常規三角函式,雙曲函式是使用雙曲線而不是圓來定義的。它根據指定的弧度角返回雙曲餘弦函式中的比率引數。但是,換句話說,要執行相反的操作。需要像雙曲餘弦反函式這樣的反雙曲三角運算來根據雙曲餘弦值確定角度。
本教程將演示如何使用C++雙曲餘弦反函式 (acosh) 來根據雙曲餘弦值計算以弧度表示的角度。雙曲餘弦反函式的公式如下:
$$\mathrm{cosh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:-\:1})},其中 \:In\: 是\: 自然對數\:(log_e \: k)$$
acosh() 函式
可以使用 acosh() 函式根據雙曲餘弦值確定角度。此函式包含在 C++ 標準庫中。在使用此函式之前,必須匯入 cmath 庫。此方法接受雙曲餘弦值作為輸入,並以弧度為單位返回角度。以下是使用的簡單語法:
語法
#include < cmath > acosh( <hyperbolic cosine value> )
此函式的輸入範圍為 1 及以上。如果輸入為負數,則會引發域錯誤。它返回範圍 [0, +∞](包含兩端)內的數字。
演算法
- 將雙曲餘弦值 x 作為輸入
- 使用 acosh( x ) 計算 cosh−1(x)
- 返回結果。
示例
#include <iostream> #include <cmath> using namespace std; float solve( float x ) { float answer; answer = acosh( x ); return answer; } int main() { float angle, ang_deg; angle = solve( 2.50918 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic cosine value 2.50918 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 11.5919 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic cosine value 11.5919 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 1.32461 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic cosine value 1.32461 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 1.60028 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic cosine value 1.60028 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; }
輸出
The angle (in radian) for given hyperbolic cosine value 2.50918 is: 1.5708 = 90.0001 (in degrees) The angle (in radian) for given hyperbolic cosine value 11.5919 is: 3.14159 = 180 (in degrees) The angle (in radian) for given hyperbolic cosine value 1.32461 is: 0.785399 = 45.0001 (in degrees) The angle (in radian) for given hyperbolic cosine value 1.60028 is: 1.04719 = 59.9997 (in degrees)
雙曲餘弦值傳遞給 acosh() 方法,該方法以弧度格式返回角度。使用以下演算法,我們將此輸出從弧度轉換為度數。
$$\mathrm{\theta_{deg}\:=\:\theta_{rad}\:\times\frac{180}{\pi}}$$
結論
我們使用 cmath 包中的 acosh() 函式使用雙曲餘弦值執行反雙曲運算。此函式根據雙曲餘弦的輸入值以弧度為單位輸出所需的角度。返回範圍為 0 到正無窮大。當輸入值小於 1 時,會引發域錯誤。在早期版本的 C 和 C++ 中,返回型別為雙精度浮點數;後來版本的 C++ 還為單精度浮點數和長雙精度浮點數使用了過載形式。當提供整數值作為引數時,在將輸入引數轉換為雙精度浮點數型別後,將呼叫 acosh() 函式。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP