使用雙曲線而不是圓來定義雙曲函數。它根據提供的弧度角傳回雙曲正切函數的比率參數。然而恰恰相反。要根據雙曲正切值計算角度,需要使用反雙曲三角函數(如雙曲反正切運算)。
本文將示範如何利用 C 雙曲反正切 (atanh) 函數透過雙曲正切值(以弧度為單位)來確定角度。雙曲反正切運算有以下公式 -
$$\mathrm{cosh^{-1}x\:=\:\frac{1}{2}In\left(\frac{1\: \:x}{1\:-\:x }\right)},其中\:In\:表示\:自然對數\:(log_e \: k)$$
可以使用 atanh() 函數根據雙曲正切值計算角度。此函數是 C 標準函式庫的一部分。使用此功能之前需要導入cmath庫。當提供雙曲正切值時,此過程提供以弧度為單位的角度。以下使用簡單的語法 -
#include − cmath > atanh( −hyperbolic tangent value> )
此函數的輸入範圍是[-1到1](包括兩者)。如果輸入超出此範圍,則會引發域錯誤。
#include <iostream> #include <cmath> using namespace std; float solve( float x ) { float answer; answer = atanh( x ); return answer; } int main() { float angle, ang_deg; angle = solve( 0.9171521 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic tangent value 0.9171521 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0.996272 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic tangent value 0.996272 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0.655794 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic tangent value 0.655794 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( -0.655794 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given hyperbolic tangent value - 0.655794 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; }
The angle (in radian) for given hyperbolic tangent value 0.9171521 is: 1.57079 = 90 (in degrees) The angle (in radian) for given hyperbolic tangent value 0.996272 is: 3.14159 = 180 (in degrees) The angle (in radian) for given hyperbolic tangent value 0.655794 is: 0.785398 = 45 (in degrees)The angle (in radian) for given hyperbolic tangent value - 0.655794 is: -0.785398 = -45 (in degrees)
atanh()方法接收雙曲正切的值並傳回以弧度格式表示的角度。我們使用下面的公式將這個輸出從弧度轉換為度數。
$$\mathrm{\theta_{deg}\:=\:\theta_{rad}\:\times\frac{180}{\pi}}$$
我們使用雙曲正切值來進行反雙曲操作,使用cmath函式庫中的atanh()函數。根據雙曲正切的輸入值,函數會傳回所需的弧度角度。輸入的範圍是-1到 1。當輸入值超出範圍時,會引發域錯誤。在早期的C和C 迭代中,返回類型是double;在後續的C 迭代中,也使用了float和long-double的重載形式。當提供整數值作為參數時,將輸入參數轉換為double類型後使用atanh()方法。
以上是C++程式以給定值找到雙曲反正切的詳細內容。更多資訊請關注PHP中文網其他相關文章!