首頁  >  文章  >  後端開發  >  C++程式以給定值為參數,找出雙曲正弦反函數的值

C++程式以給定值為參數,找出雙曲正弦反函數的值

WBOY
WBOY轉載
2023-09-17 10:49:02654瀏覽

C++程式以給定值為參數,找出雙曲正弦反函數的值

雙曲函數是使用雙曲線而不是圓定義的,與普通三角函數相當。它從提供的弧度角傳回雙曲正弦函數中的比率參數。但要做相反的事,或者換句話說。如果我們想要根據雙曲正弦值計算角度,我們需要像雙曲反正弦運算一樣的反雙曲三角運算。

本課程將示範如何使用 C 中的雙曲反正弦 (asinh) 函數,使用雙曲正弦值(以弧度為單位)計算角度。雙曲反正弦運算遵循以下公式 -

$$\mathrm{sinh^{-1}x\:=\:In(x\: \:\sqrt{x^2\: \:1})},其中\:In\:是\ :自然對數\:(log_e \: k)$$

asinh() 函數

根據雙曲正弦值,可以使用 asinh() 函數計算角度。這個函數是C 標準函式庫自帶的。在使用這個函數之前我們必須先導入cmath庫。此方法傳回以弧度為單位的角度,並採用正弦值作為參數。以下使用簡單的語法 -

文法

#include < cmath >
asinh( <hyperbolic sine value> )

演算法

  • 以雙曲正弦值 x 作為輸入
  • 使用 asinh( x ) 計算 sinh−1(x)
  • 傳回結果。

範例

#include <iostream>
#include <cmath>
using namespace std;

float solve( float x ) {
   float answer;
   answer = asinh( x );
   return answer;
}

int main()
{
   float angle, ang_deg;
   angle = solve( 2.3013 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 2.3013 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( 11.5487 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 11.5487 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( 0.86867 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 0.86867 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( -0.86867 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value - 0.86867 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;
}

輸出

The angle (in radian) for given hyperbolic sine value 2.3013 is: 1.5708 = 90.0001 (in degrees)
The angle (in radian) for given hyperbolic sine value 11.5487 is: 3.14159 = 180 (in degrees)
The angle (in radian) for given hyperbolic sine value 0.86867 is: 0.785397 = 45 (in degrees)
The angle (in radian) for given hyperbolic sine value - 0.86867 is: -0.785397 = -45 (in degrees)

asinh() 方法在本例中接收雙曲正弦值,並傳回弧度格式的角度。我們使用下面的公式將此輸出從弧度轉換為度數。

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

結論

為了使用正弦值進行反雙曲運算,我們使用 cmath 套件中的 asinh() 函數。接收雙曲正弦值作為輸入後,此函數輸出所需的弧度角度。在舊版的 C 和 C 中,傳回型別是 double; C 的較高版本也使用了 float 和 long-double 的重載形式。當整數值作為參數傳遞時,將在將輸入參數轉換為 double 類型後呼叫 asinh() 函數。

以上是C++程式以給定值為參數,找出雙曲正弦反函數的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除