検索

ホームページ  >  に質問  >  本文

c++ - 超大数的运算问题

在一个问题中遇到的需要求这样的一个表达式:

应该如何计算可以得到结果?如果用龙贝格积分计算是算不出来的,伽马函数用定义算也求不出来。请问应该使用什么算法?

大家讲道理大家讲道理2803日前529

全員に返信(2)返信します

  • 阿神

    阿神2017-04-17 15:29:58

    前を言うのは簡単ですが、後ろのポイントを計算するのは簡単ではありません

    返事
    0
  • 迷茫

    迷茫2017-04-17 15:29:58

    質問に事務的な間違いがあるのではないかと思います。左下隅の数字は 251528 である必要があります。このように、小数部分はベータ関数の定義とまったく同じになります:

    $$frac{ガンマ(m+n)}{ガンマ(m) ガンマ(n)}=frac{1}{B(n,m)}$$

    整数部分は不完全なベータ関数の定義です:

    $$int_0^{frac{1}{2}} theta ^{n-1} (1-theta )^{m-1} , dtheta=B_{frac{1}{2}}(n, m)$$

    この 2 つの積は、正規化された不完全ベータ関数 (正規化ベータ関数) と呼ばれます。

    $$frac{B_{frac{1}{2}}(n,m)}{B(n,m)}=I_{frac{1}{2}}(n,m)$$

    この関数はベータ版ディストリビューションの累積分布関数 (CDF) であるため、多くのソフトウェア パッケージで計算できます。たとえば Excel:

    結果はコンピュータの浮動小数点数の表現範囲を超えません。

    返事
    0
  • キャンセル返事