人気ブログランキング | 話題のタグを見る

ブログトップ

電子工作やってみたよ

DM42で乱数を遊ぶ (2)

DM42の高速性を生かして乱数の数を増やしたら精度が上がるのか遊んでみました。
前回乱数の発生のばらつきは,サンプリング数を増やすと小さくなるようなので、
以前やったように モンテカルロ法で円周率を求めてみます。
これは x,y 二つの値を乱数でだして座標としそれが円の内部にあるか外部なのかで円周率を求めるものです。 


DM42で乱数を遊ぶ (2)_c0335218_10080924.jpg


全プログラムリスト 
DM42(HP42Sと同じ) 動作はUSBで電源供給なので電池の3倍速で動いています。

01 LBL "CC" **************************
02 123.4567  乱数発生器の初期値 何でもよい
03 SEED    乱数初期値セット
04 CLRG   すべての変数をゼロにする

05 LBL "DD" **************************
06 1
07 STO + 3  全体の回数 カウントアップ
08 RAN  乱数作成 X
09 X^2    2乗して01にしまう
10 STO 01
11 RAN  乱数作成 Y
12 X^2    2乗する
13 RCL 01
14 +     乱数のXとYを足す
15 1     乱数を2乗して足したものが1を超えたか "D
16 X < Y ?
17 GTO "DD"   超えていたらデータ無視して次の乱数の計算に入る。
18 1
19 STO + 04  1以内ならばDをカウントアップする
20 GTO "DD"   次の乱数の計算に戻る


測定は10分間やりました。
変数名  データー
 01  Xのランダム数
 02  未使用
 03  全体の回数  開始から1分後 54880 10分後 555760
 04  1以下の回数 開始から1分後 43129 10分後 436878

1分後円周率   (  43129 X 4 ) / 54880 = 3.14351
10分後円周率  ( 436878 X 4 ) / 555760 = 3.14436


========


乱数のサンプリング数を増やせば乱数のバラつきの比率は減る方向でしたが、乱数を使って何かやるのは、サンプリング数を増やしても精度は上がらないようですね。
乱数の使い方自体 まだ勉強する必要があるな。

HP電卓(含むDM42)でプログラムを組むのは もうゲームですね。 役立つかどうかは二の次。

****************************************************************

4月も半ば近いというのに雪景色。
自動車のタイヤ、まだ冬用のままで良かったです。

今年は、村の役を引き受けたので、なんだかんだでてんてこ舞い。
この前書いた「ジタバタ」しまくりです。
先日県議会議員の選挙で立会人を初めてやりました。
朝6時から夜7時まで投票場に缶詰になり(投票場から外に出るのは禁止されてます)
一日中 投票箱をにらんでいました。
そして次は、中学校の入学式の来賓、
まあ 端っこに座っているだけでしたがこれも初めて。
今年は、この後何があるのかな。

DM42で乱数を遊ぶ (2)_c0335218_10584652.jpg



DM42で乱数を遊ぶ (2)_c0335218_10585790.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

by telmic-gunma | 2019-04-11 10:36 | HP電卓