類似於普通三角函數,雙曲線函數是使用雙曲線而不是圓來定義的。從指定的弧度角度,它會傳回雙曲餘弦函數中的比值參數。但換句話說,它是相反的。需要使用反雙曲三角運算(如反雙曲餘弦運算)來確定雙曲餘弦值對應的角度。
使用雙曲餘弦值計算角度,以弧度為單位,本教學將展示如何使用C 雙曲反餘弦(acosh)函數。雙曲反餘弦運算的公式如下 -
$$\mathrm{cosh^{-1}x\:=\:In(x\: \:\sqrt{x^2\:-\:1})},其中\:In\:是\:自然對數\:(log_e \: k)$$
使用 acosh() 函數,可以根據雙曲餘弦值來決定角度。 C 標準函式庫包含此函數。使用此功能之前,必須先導入cmath庫。此方法接受雙曲餘弦值作為輸入並返回以弧度為單位的角度。下面使用簡單的語法 -
#include < cmath > acosh( <hyperbolic cosine value> )
此函數的輸入範圍為 1 以上。如果輸入為負,則會引發域錯誤。它傳回 [0, ∞] 範圍內的數字(兩者都包含在內)。
#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 早期迭代中的回傳類型是 double; C 的後續迭代也使用了 float 和 long-double 的重載形式。當提供整數值作為參數時,將在將輸入參數轉換為 double 類型後呼叫 acosh() 函數。
以上是C++程式以給定值為參數,尋找雙曲反餘弦的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!