• 締切済み

モンテカルロ法を使ったルートの出しかた

エクセルを使ったモンテカルロ法での√5の求めかたを知りたいです。 例題として√2がありました。 乱数を10個ほどだし出し(Xとします) =IF(X*X<0.5,1,0)を各乱数に対し代入します。 代入して出た数字をY1~Y10とすると =AVERAGEA(Y1:Y10)*2 で答えが出ます。 この例と同じ流れで√5をだすにはどうすればいいでしょうか。 =IF(X*X<●,1,0) ●の部分を変えればいいと思うのですが…, √3を出す例題では●は0.75でした。

みんなの回答

  • SI299792
  • ベストアンサー率47% (774/1618)
回答No.2

既に回答が付いていますが、作ったので載せます。 図の様に入力して下さい。 A2: 5 A4: =AVERAGEA(B:B)*A2 A6: =SQRT($A$2) B1: =(RAND()*A$2)^2<$A$2 下へコピペ。名前ボックスを使えば楽にコピペできます。 数を増やせば精奴は上がります。 A2の変更だけで、計算が可能です。

  • ubku
  • ベストアンサー率37% (227/608)
回答No.1

>√3を出す例題では●は0.75でした。 これは合っているかどうかちょっと分かりません。この流れでは√5(=2.236...)は計算できません。平均の2倍が2を越えることがないからです。 √5を求める場合は ● に0.25 すなわち1/5を入れます。 =IF(X*X<0.25,1,0) さらに =AVERAGEA(Y1:Y10)*5 とすると答えが出ます。 一般的にすると =IF(X*X<(1/★),1,0) =AVERAGEA(Y1:Y10)*★ ★のところにルートの中の数字を入れます。√3なら3を入れる。 形を変えるとこうでもいいです。 =IF(X*X<(1/★),★,0) =AVERAGEA(Y1:Y10) 大きな数の平方根を求める場合は乱数を相当たくさん用意しないと答えのバラツキが大きくなって使い物にならないのが欠点です。

関連するQ&A