Numbersでアンダーフローしない方法は?
MacのNumbersのBINOMDIST関数で、試行回数を10000、成功確率を0.05、関数形式をFALSEにして成功数を200にしたところ150より極めて小さい数値がでてしまい、次に250に指定したところアンダーフローして0になってしまいました。ここで、関数の改変などによりアンダーフローを回避する技術があれば教えてください。
MacBook Air 13″, macOS 13.4
Apple の脅威の通知と金銭目当てのスパイウェアへの対策について
Apple の脅威の通知と金銭目当てのスパイウェアへの対策についてが公開されました。
Apple の脅威の通知と金銭目当てのスパイウェアへの対策についてが公開されました。
MacのNumbersのBINOMDIST関数で、試行回数を10000、成功確率を0.05、関数形式をFALSEにして成功数を200にしたところ150より極めて小さい数値がでてしまい、次に250に指定したところアンダーフローして0になってしまいました。ここで、関数の改変などによりアンダーフローを回避する技術があれば教えてください。
MacBook Air 13″, macOS 13.4
0が20以上も続くようなら、計算精度的にそれ以上桁数を増やしても意味ないですが。
パソコンの、Numbersを含む一般的な表計算ソフトは4倍精度でしか計算しません。これの有効桁数は10進数で20桁程度しかありません。
試行回数を10000も取るなら、累積確率を計算するようにして、幅を数十にとって、その累積確率の増分からその回数の成功確率を計算する方が現実的なのでは?
0が20以上も続くようなら、計算精度的にそれ以上桁数を増やしても意味ないですが。
パソコンの、Numbersを含む一般的な表計算ソフトは4倍精度でしか計算しません。これの有効桁数は10進数で20桁程度しかありません。
試行回数を10000も取るなら、累積確率を計算するようにして、幅を数十にとって、その累積確率の増分からその回数の成功確率を計算する方が現実的なのでは?
一応”BINOMDIST(500,10000,0.05,FALSE)”を”BINOMDIST(500,10000,0.05,TRUE)-BINOMDIST(499,10000,0.05,TRUE)”にすれば解決はしましたが、数式の長さはともかく、全く同じ値になるはずなのに異なる値が返ってきます。
Numbersでアンダーフローしない方法は?