C ライブラリ関数 -sinh()

C 标准库 - <math.h>C 標準ライブラリ - <math.h>

説明

C ライブラリ関数double sinh(double x)返すxの双曲正弦。

sinh()は C 標準ライブラリ<math.h>の関数の1つで、数値の双曲正弦値を計算するために使用されます。双曲正弦関数(sinh)は、数学、物理学、工学の多くの応用で広く使用されています。

双曲正弦関数の定義は次のとおりです:

宣言

以下は sinh() 関数の宣言です。

#include <math.h>

double sinh(double x);
float sinhf(float x);
long double sinhl(long double x);

引数

  • x-- 入力された実数で、双曲正弦関数の独立変数を表します。

戻り値

この関数は x の双曲正弦を返します。

例

以下の例は、sinh() 関数の使用方法を示しています。

例

#include <stdio.h>
#include <math.h>

int main ()
{
   double x, ret;
   x = 0.5;

   ret = sinh(x);
   printf("%lf の双曲正弦は %lf 度", x, ret);
   
   return(0);
}

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

0.500000 的双曲正弦是 0.521095 度

複数の値の双曲正弦を計算する

次の例は、複数の値の双曲正弦を計算する方法を示しています。

例

#include <stdio.h>
#include <math.h>

int main() {
    double values[] = {0, 0.5, 1, 1.5, 2};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        double result = sinh(x);
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

コード解析

  • 複数の値を含む配列を定義しますvalues。
  • 使用してforループで各値を反復処理し、双曲正弦値を計算して結果を出力します。

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

sinh(0.000000) = 0.000000
sinh(0.500000) = 0.521095
sinh(1.000000) = 1.175201
sinh(1.500000) = 2.129279
sinh(2.000000) = 3.626860

エラー処理

sinh()関数は入力値が大きすぎるとオーバーフローを引き起こす可能性があります。この場合、関数は正の無限大または負の無限大を返し、またerrnoに設定されますERANGE。使用してerrnoオーバーフローエラーが発生したかどうかを確認できます。

次の例は、オーバーフローエラーの処理方法を示しています。

例

#include <stdio.h>
#include <math.h>
#include <errno.h>

int main() {
    double x = 1000.0;
    errno = 0;  // errno をリセット
    double result = sinh(x);

    if (errno == ERANGE) {
        printf("Overflow error: sinh(%f) result is out of range.\n", x);
    } else {
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

コード解析

  • コードは次の計算を試みますsinh(1000.0)、これはオーバーフローを引き起こす可能性のある入力値です。
  • errnoは 0 にリセットされ、次に を呼び出し、sinh(x)。
  • チェックし、errnoに等しいかどうかをERANGE、もし等しければ、オーバーフローエラーメッセージを出力します。
  • エラーがない場合は、計算結果を出力します。

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

sinh(1000.000000) = inf

まとめ

sinh()関数は指定された値の双曲正弦を計算するために使用され、双曲関数演算を処理するための重要なツールです。使用時には、可能性のあるオーバーフローエラーの処理に注意する必要があります。適切に使用することでsinh()関数を使用すると、数学計算、物理シミュレーション、工学的応用において正確な結果を得ることができます。

C 标准库 - <math.h>C 標準ライブラリ - <math.h>

その他の拡張