C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMath.Cosh()メソッドとは?双曲線余弦を求める方法をわかりやすく解説

C#のMath.Cosh()メソッドは、引数として指定された角度(ラジアン)の双曲線余弦(ハイパボリックコサイン)を返す静的メソッドです。双曲線関数は、数学・物理学・工学などの分野で幅広く利用されており、C#ではSystem名前空間のMathクラスから簡単に呼び出せます。

構文

Math.Cosh()メソッドの構文は以下のとおりです。

public static double Cosh(double val);

引数 val には、ラジアン単位の角度をdouble型で指定します。度数法の角度を渡したい場合は、あらかじめ「角度 × π / 180」でラジアンに変換しておく必要がある点に注意してください。戻り値もdouble型です。

数式的な意味

双曲線余弦は、次の式で定義されます。

cosh(x) = (e^x + e^-x) / 2

このため、引数が大きくなると結果は急激に増大し、指数表記(E+19など)で表示されることがあります。

使用例1:大きな角度の場合

まず、Math.Cosh()メソッドに大きめの値を渡した場合の例を見てみましょう。

using System;

public class Demo {
    public static void Main() {
        double val1 = 30.0;
        double val2 = 45.0;
        Console.WriteLine(Math.Cosh(val1));
        Console.WriteLine(Math.Cosh(val2));
    }
}

出力

このプログラムを実行すると、次のような結果が出力されます。

5343237290762.23
1.74671355287425E+19

30や45といった一見小さな値でも、双曲線余弦は指数関数的に増加するため、非常に大きな数値が返されることがわかります。

使用例2:0および小数値の場合

続いて、0と小数値を渡した場合の動作を確認してみましょう。

using System;

public class Demo {
    public static void Main() {
        double val1 = 0.0;
        double val2 = 1.1;
        Console.WriteLine(Math.Cosh(val1));
        Console.WriteLine(Math.Cosh(val2));
    }
}

出力

実行結果は以下のとおりです。

1
1.66851855382226

cosh(0) = 1 となるため、0を渡した場合は必ず1が返ります。また、1.1のような小さな値に対しては、1より少し大きい値が返されます。

まとめ

  • Math.Cosh()は、指定した角度(ラジアン)の双曲線余弦をdouble型で返す静的メソッドである
  • 引数はラジアン単位で指定する(度数法の角度は要変換)
  • cosh(0) = 1 となるため、0を渡すと必ず1が返る
  • 引数が大きいほど結果は急激に増大し、指数表記になることもある
  1. C#のMath.DivRem()メソッドの使い方を徹底解説!商と余りを同時に取得する方法

    C#のMath.DivRem()メソッドは、2つの数値の除算を行って商(quotient)を返すとともに、余り(remainder)をoutパラメータとして受け取ることができる便利なメソッドです。通常、商と余りの両方を求めるには「/」演算子と「%」演算子を別々に使う必要がありますが、このメソッドを使えば一度の呼び出しで両方の結果を取得できます。構文public static int DivRem(int dividend, int divisor, out int remainder); public static long DivRem(long dividend, long divisor

  2. C#のMath.DivRemメソッドとは?商と余りを同時に計算する方法

    C#のMath.DivRemメソッドは、2つの数値の商(割り算の結果)を計算すると同時に、余りも取得できる便利なメソッドです。通常、商を求める場合は「/」演算子、余りを求める場合は「%」演算子を使いますが、Math.DivRemを使えば1回の呼び出しで両方の結果を得ることができます。 Math.DivRemメソッドの基本構文 まず、被除数(割られる数)と除数(割る数)を設定します。 // 被除数(割られる数) long dividend = 30; // 除数(割る数) long divisor = 7; 続いて、DivRemメソッドを呼び出します。第3引数にはoutパラメータとして余りを受け