大きな階乗の計算とスターリングの公式を用いた近似方法

このQ&Aのポイント
  • 「統計学入門」という本で学んだスターリングの公式を使って大きな階乗の計算を近似する方法について説明します。
  • スターリングの公式を用いると、10!や20!などの大きな数字の階乗を簡単に近似することができます。
  • 具体的な手順としては、まずスターリングの公式で階乗の第一近似値を求め、その結果を常用対数表を用いて実際の数字に近似します。
回答を見る
  • ベストアンサー

大きな階乗の計算:スターリングの公式→常用対数表

「統計学入門」という本を読んでいて、10!や20!などの大きな数字の階乗の計算のために「スターリングの公式」というのが出てきました。その計算結果はExcelで正しく出たのですが、その計算結果を常用対数表を使って実際の数字に近似する手順を教えて下さい。 まずは添付画像をご覧下さい。 スターリングの公式で10!の第一近似が6.556145115465と出て、 「これを常用対数表から、10!は7桁で 10!≒3598695.61874... となる。」 とありますが、常用対数表のどこの項目を見てその3598695.61874...が出てきたんですか? 6.5と6の交差したところの値、0.8169は3598695.61874...とはまったく関係ないですよね? 逆に、2.2と9の交差したところの値が3.598になっています。これですか?もしこれだとしたら、2.29がどこから出てきたか分かりません。 ※7桁の部分は理解しています、6.556145115465を切り上げると7なので。 「"常用対数表" "階乗" "スターリングの公式"」などで検索してもどこにもその手順が見つかりません。どうか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

うーん.... > スターリングの公式で10!の第一近似が6.556145115465と出て、 まず、この表現が微妙ですが、これは log (10!) / log (10) ≃ 6.556145115465 (実際には6.55976303...)、ということですね。 したがって、10! ≃ 10 ^ 6.556145115465 = (10^6) * (10*0.556145...) となります。で、冗長ですが、 x = 10*0.556145... の値を求めるには、 log(x) / log(10) = 0.556145..... となるので、常用対数表で値が 0.556...となる xの値を読めばよく、すると xは3.60位、ですね。 従って、10! ≃ (10^6) * 3.60 となります。 要は、常用対数表に載っている範囲の値で考えるために、6.556145115465... の所を分離して考えないといけない、という訳ですね。

futureworld
質問者

お礼

ベストアンサーを差し上げます。 なるほど、小数点の位置で分離するわけですね。 理解しました。 これは便利ですね。 実は10!や20!ぐらいなら、表計算ソフトで計算できてしまうんですが、このページの下の方に載っていた300!の例は、Google Spreadsheetでは計算できませんでした。 なぜなら、Google Spreadsheetの階乗の関数Fact()は、170!までしか受け付けず、10^nの最大値は1.79769E+308までだからです。 にもかかわらず、スターリングの公式と常用対数表を用いた計算なら算出できてしまうなんて、素晴らしいです。 ご回答ありがとうございました!

関連するQ&A

  • スターリングの公式を使った近似式

    スターリングの公式を使った近似式 (1)式のスターリングの公式を使って、 (2)式で与えられた分布関数の対数をとると(3)式から(5)式が導けます。 (4)式までは導けたのですが、 ここから(5)に行くのができません。

  • 『常用対数』が計算を楽にするものであるなら、『自然対数』、『e』の意義は?

    よろしくお願いします。 対数は近似値を表にした対数表を用いることにより、積の計算を、 より簡単な和の計算に置き換えることができるもの。 十進法に即した常用対数の登場によりさらに使いやすくなった。 これによりケプラーによる天体の軌道計算をはじめとして、 その後の科学の急激な発展を支えた。 との事ですが、であれば自然対数はどんな意義があるものでしょうか? また、ネイピア数を作り出した意義はなんでしょうか? 授業では、eを底とする指数関数は微分しても変わらない数字を 人工的に作ったという話も聞きましたし、 解析学では自然対数を使うとも聞いたことがあります。 数学は初級者ですので、噛み砕いたご教授いただけたら幸いです。

  • 常用対数表使って手計算で解きたいのですが、log(

    常用対数表使って手計算で解きたいのですが、log(3964081)=6.5981 はどうやって解くのでしょうか?桁数多くてわかりません。 途中計算教えてください。

  • 常用対数の値

    例えば常用対数 log2=0.3010 となりますが、なぜ0.3010という値が導きだされたのかが分かりません。高校数学の教科書の巻末には、常用対数表が掲載されていますが、それぞれの常用対数の値は、いかなるプロセスで求められるのか?そのプロセスは、高校数学の範疇を超えて、大学数学を理解していないと分からないのか?どなたかご存知の方、教えて下さい。よろしくお願い致します。 

  • 常用対数表を用いて近似値を求める

    例えば 3^10 の近似値を求めるとします。 3^10=N とおいて log N=log 3^10=10log 3=10×0.4771=4.771=0.771+4 ここで常用対数表から 0.771≒log 5.90 よって log N≒log 5.90+log 10^4=log(5.90×10^4) ゆえに N≒5.90×10^4 以上のような内容も高校数学で扱うべきだと思いますか。

  • パソコンで階乗を計算

    現在、fortran90を使って階乗を計算するプログラムを作っております。 プログラム内容は、(n !を求めえるプログラム) n=0 do i=1,100 n=n*i enddo このプログラムを実行すると、12!までは予想された値が得られるのですが、13!以降は電卓で計算した値と遙かに異なる値が得られました。 このプログラムは間違っているとは思えないですが、電卓の計算とパソコンの計算が異なる結果になった理由が分かりません。 どなたか、ヒントや参考情報だけでもいいので教えてください。 ちなみにパソコンによる計算結果は、 i n 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 11 39916800 12 479001600 13 1932053504 14 1278945280 15 2004310016 16 2004189184 17 -288522240 18 -898433024 19 109641728 20 -2102132736 21 -1195114496 22 -522715136 23 862453760 24 -775946240 25 2076180480 26 -1853882368 27 1484783616 28 -1375731712 29 -1241513984 30 1409286144 31 738197504 32 -2147483648 33 -2147483648 34 0 35 0 36 0 36の階乗以降0です。 計算結果が正となるが、結果が違うモノ(例えば、13!や31!)は単精度で約10桁程度しか有効数字が得られないためであると思われるのですが、負になったり、0になる理由が分かりません。

  • 常用対数の問題

    以下の問題が分からず困っています。 3/10<log10 2 および 80<81 , 243/250を用いて、 3/10<log10 2<23/75 , 19/40<log10 3<12/25であることを示せ。 (常用対数表は使えません。また、表記の都合上分かりにくくなっていますが log10 2 は10を底とした2の対数です) とりあえず自分でやってみたところ、 log10 2-23/75 =1/75(75・log10 2 - 23) =1/75・log10 (2^75/10^23) というところまで行って、2^75/10^23が1以下であることが示せればいいというところまできています。莫大な数字であるだけに直接計算する以外の方法があるのではないかと思うのですが、それが分かりません。log10 3についても同様です。 10^23との比較とのことで、2^75の桁数が分かればいいのでは? とは思うのですが、log10 2の値が分からないので桁数を求めることも出来ず困っております。 直接問題の答えを求めると規約違反になってしまいますので、どなたかヒントのようなものをいただけないでしょうか。

  • 対数の問題 常用対数

    対数の問題で log[10]2=0.3010 log[10]3=0.4771 とするとき、次の値を求めよ log[3]5 こういう問題で割り算しますよね 小数点以下4桁出しましたが、小数点以下5桁目は切り捨てるんですか?四捨五入するんですか? 小数点以下5桁目の切り捨てか四捨五入ってどっちでもよくはないんですか? 今までは全部5桁目がたまたま0~4になったから四捨五入なんか気にしませんでしたが、先生には特に何も言われなかったですし けど教科書は 対数の値は一般には無理数で無限小数で表される。対数表には小数第5位を四捨五入した値が記載されている と書いてあります。

  • 常用対数と自然対数の違い

    R-C回路があります。抵抗Rにかかる電圧をVr、コンデンサにかかる電圧をVcとする。 Vr=20(1-e^(-500t)) Vc=20e^(-500t) となりました。Vr=Vcとなる時間を求めよ、という問題があり、計算途中で両辺に底を自然対数としてlogをとりました。 その結果答えが合いませんでした。次に底を常用対数 10 で計算すると合いました。 どうやって常用対数と自然対数の使うときを見極めればよいですか?

  • 常用対数の不等号について

    常用対数の不等号について I.それぞれ(1.25)^nの整数部分が3桁となる自然数nはどんな範囲の数か II.自然数nは(6.25)^nの整数部分が6桁になるような数であるという (1/8)^nは少数第何位に初めて0でない数字があらわれるか ただしどちらもlog[10](2)=0.3010とする という問題があるのですがその式の中でnの値を求めるとき Iの場合は 2≦n×0.097<3 よって20.6…≦n≦30.9 IIの場合は5≦n×0.796<6 よって6.2<n<7.6 となっていたのですがこのところの不等号の=がつく基準がよくわかりませんでした そこまで気にしなくてもいいのでしょうか? ご教授いただければ幸いです