ホームページ >バックエンド開発 >C++ >指定された数値の対数ガンマを計算する C++ プログラム

指定された数値の対数ガンマを計算する C++ プログラム

WBOY
WBOY転載
2023-08-25 15:13:061767ブラウズ

指定された数値の対数ガンマを計算する C++ プログラム

ガンマ関数は、指定された各数値の階乗の展開として記述されます。 数学。一方、階乗は実数に対してのみ定義できるため、 ガンマ関数は演算の割り算を超えます 負の整数。 -

で表されます。

$$\mathrm{\Gamma \left ( x \right )=\left ( x-1 \right )!}$$

ガンマ関数は値が大きくなると急激に大きくなるため、対数的に適用します。 ガンマを使用すると速度が大幅に低下します。特定の数値の自然対数ガンマは次のとおりです。 別名です。

この記事では、特定のガンマ関数の対数を計算する方法を説明します。 Cに数値xを入力します。

lgamma() 関数を使用して Gamma を対数化します

C cmath ライブラリには lgamma() 関数があり、パラメータ x を受け取って実行します。 gamma(x) を計算し、値に自然対数を適用します。 lgamma() を使用するための構文は次のとおりです。 次のように -### ###文法### リーリー ###アルゴリズム###

数字を読む x

res := lgamma( x ) を使用した対数ガンマ

    結果を返す
  • ###例### リーリー ###出力### リーリー
  • gamma() 関数と log() 関数を使用する
  • C は、gamma 関数と log() 関数の tgamma() メソッドも提供します。私たちは使うことができます 彼らは lgamma() を定式化するようになります。明確なアイデアを得るためにアルゴリズムを見てみましょう。
  • ###アルゴリズム###

数字を読む x

g := tgamma( x ) を使用してガンマを計算します

res := log( g ) を使用した対数ガンマ

結果を返す

###例### リーリー ###出力### リーリー

Factorial() 関数と log() 関数を使用する
  • 前の例では、tgamma() メソッドと log() メソッドの使用を見てきました。我々はできる Factorial() 関数を定義しますが、正の数のみを受け入れます。見てみましょう 理解を深めるためのアルゴリズム。
  • ###アルゴリズム###
  • 階乗関数を定義するには、n
  • が必要です
n が 1 の場合、

nを返す

######さもないと
  • n * 階乗 ( n - 1 ) を返します
    • 終了場合

    main メソッドでは、数値 x を使用して x
  • の対数ガンマを見つけます。

    g := 階乗 (x - 1)
    • res := g
    の自然対数を見つけるには log( g ) を使用します。

    結果を返す
  • ###例### リーリー ###出力### リーリー ###結論は###

    ガンマ法は階乗法の拡張とも呼ばれます。 ガンマまたは階乗法は非常に急速に成長するため、対数を使用できます。この時点で この記事では、指定された数値に対して対数ガンマを実行するいくつかのテクニックについて説明しました。 バツ。最初に、C の cmath ライブラリのデフォルト関数 lgamma() を使用します。 2 番目の方法は、tgamma() と log() を使用して、最後に階乗法を定義することです。 ただし、最後の方法は正の数に限定されます。負の数では機能しません 番号。そして、それは整数でのみうまく機能します。

以上が指定された数値の対数ガンマを計算する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。