• 締切済み

二項分布の計算方法

二項分布の式で例えば、200C50 0.9(1-0.9)200-50 こういう計算式があったとします。すみません、数字が大小区別できず・・・ その場合200C50は、(200-50)! x 50! ÷ 200!という計算だと思いますが、 こんなに大きな値をどうように電卓を使ってでも計算すればよいのでしょうか? また、200C50 0.9(1-0.9)200-50の式は、(200-50)! x 50! ÷ 200!をまず出し、 その後ろは0.1 150となると思います。そのあと、どのように答えを導きだせばよいのでしょうか?

みんなの回答

  • staratras
  • ベストアンサー率41% (1498/3648)
回答No.4

No.3です。補足です。200C50の値をエクセルを使用してもう少し高精度で求める方法を考えてみました。 エクセルには階乗を求めるFACTという関数がありますが200!はさすがに無理です。そこで200C50=(200!)/((150!)(50!))=(200・199…152・151)/50!=(200/50)(199/49)…(152/2)(151/1)と変形し、( )の商50個の総積をPRODUCT関数で求めると、453858377923246000000000000000000000000000000000となりました。4.53858377923246×10^47 で、No.3でエクセルのCOMBIN関数で求めた値より大幅に、また関数電卓で求めた数値より少し精度が向上しています。 なおWindows10附属の関数電卓では4.5385837792324606106744139028087e+47 となりました。 余談ですが、パソコンも関数電卓もない時代はどうしていたのだろうかと考え、大昔の「集成 万能数表」(昭和30年第1版)という書籍を見ると、300までの整数nについて、n!の数値とlog n!の値が掲載されていました。この数表の200!,150!,50!の値で計算すると、4.5385866…となり、小数第5位まで正しい値が得られました。この結果は奇しくもエクセルのCOMBIN関数で求めた場合の精度と同じです。

  • staratras
  • ベストアンサー率41% (1498/3648)
回答No.3

電卓によるようです。興味深いことに回答者が持っている関数電卓では、 安価で小型の機種(Canon F-605C)は、200C50=4.538583779×10^47と正しく計算してくれる一方、 これより少し高価な機種(CASIO fx-912ES)ではエラーになってしまいます。 なおエクセルの関数COMBINを使用すれば、COMBIN(200,50)=4.538E+47 と計算してくれます。

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.2

200C50 0.9(1-0.9)200-50 というのは 200C50*0.9^50*(1-0.9)^(200-50) のことですね。200C50の部分は200!/150!/50!です。 Windows10の電卓アプリでも関数電卓モードであれば普通に計算できますよ。 200[n!][÷]150[n!][÷]50[n!][×]0.9[x^y]50[×]0.1[x^y]150で 2.33908405577534E-105 という値が出てきます。

  • gamma1854
  • ベストアンサー率52% (307/582)
回答No.1

確かにそうですね。関数電卓でも combi(200,50) は計算できません。 統計のモードで処理できるかもしれませんが私は確認していません。 私も時々大きな数を必要としますが、「関数の零点」や「組み合わせの数」などは簡単なプログラムを作って処理しています。 combi(200, 50)=200!/{150!*50!} ≒4.53858377923*10^47 です。有効数字はこのくらいで十分と思います。

関連するQ&A