人気ブログランキング |

ブログトップ

電子工作やってみたよ

タグ:HP電卓 ( 42 ) タグの人気記事

何人かの方に”Free42”がすごいと教えていただきましたが、やはり自分で実感して見ないとその凄さは解らない物ですね。
友達に教えてもらってSONYのスマホに入れてみました。
(恥ずかしながらスマホ まだ全然使えません)

スピードは下の表にある通り。
もう 今までのHP電卓とは別次元スピードですね。
まさに”スパコン” いやそれ以上と思います。

だからと言って、わたしはこれ使う気持ちは全然ありませんけれど。
やはりキータッチなど、HP電卓と呼べるしろものではありません。
だいいち 本物のHP電卓の様に、いじっていて楽しくありません。
まちがって触ってもキーがすぐに反応したりものすごく気を使うんです。

しかし計算速度は絶大なので、この前DM42で10時間かけてやった円周率のような計算には面白いかも。
単純比較するとDM42で10時間かかった円周率10000桁の計算が9分ほどで済むはずです。
オリジナルのHP42Sから見れば、312日かかる計算が9分で済むということですね。

これはもうやってみるしかありませんね。

左から HP42S  DM42  SONYのアンドロイドスマホ

c0335218_21490476.jpg


c0335218_21491649.jpg


by telmic-gunma | 2019-07-18 22:12 | HP電卓 | Trackback | Comments(0)

ちょっとガッカリ  DM15L

HP15C コンパチのDM15Lの演算スピードを計ってみました。
結果は表題に上げた通りです。
HP15C_LE の 1/ 7 しかありません。 ちょっとがっかり。
それでもオリジナルのHP15Cの22倍の速さだし、HP15C_LEのムシだったPSE命令(一時ポーズ)もちゃんと動作しますから。
これ 発売されたのHP15C_LEよりだいぶ後だし(?)DM42の技術があるのだから、あと一桁以上高速に出来ると思うのですが何故でしょうか。

スピード遅くて気力がなくなったので電池の消費電流は測ってありません。

HP電卓使って数学の勉強するのだから速度なんて関係ない、と思っていたのですが、DM42の円周率の計算やってからやはり速度は大切かなと感じてます。

c0335218_21360561.jpg

左上はHP15C_LE   右上は今回のDM15L   中央下はオリジナルのHP15Cです。
同じもの 3台も集めて何やる気。

c0335218_21361290.jpg

HP15C 3機種のみの比較表
c0335218_15152200.jpg


HP電卓 測定できた全機種の速度比較表
c0335218_15154003.jpg


測定プログラム  すべての機種はこの同一プログラムで動作させました。
一部の機種では、初期値の読み込みやラベル名などに違いがあります。

LBL A ’スタートのラベル
3       ’カウンターの初期値 3000(機種によりここを200に変えました)
0
0
0
STO 0     ’カウンターの初期値を変数0にストア

LBL B     ’ループ先頭のラベル
1       'カウンターから引く数を1にする
STO -0    ’カウンター 0から1を引く
RCL 0    ’減算されたカウンターの値をXレジスターへ読み込む
X キ 0    ’Xレジスターがゼロでないかチェックする
GTO B    'ゼロでないならばラベルBへ移動する
R/S      ’Xレジスターがゼロならば停止する


わずかこれで終わりです。
演算速度は命令の種類により当然変わるはずです。
ここではプログラムのループ内で使われている命令の平均時間ですね。
厳密には命令ごとの時間が必要ですが、機種ごとのスピード比較ならばこれで良いと思っています。


雨の中でも元気です。 アルストロメリア
c0335218_17050076.jpg

畑になっている、たった1本のブルーベリー
c0335218_17051550.jpg


ブルーベリー食べました。  うーん そんなに美味しいとは思えないんだけど。
c0335218_17052420.jpg




電子工作ランキング

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

by telmic-gunma | 2019-07-09 17:24 | HP電卓 | Trackback | Comments(2)

すがわらさんからのアイデアをいただいて1レジスタ 10桁表示をやってみました。
とりあえず答えは2行だけですが、すんなり出来ました。
ただこれはDM42(HP42S)での話でHP15Cで動作するかは試してありません。
全体の動作を理解できていないのに改造ばかりでいいのかな。

改造個所は以下の3か所です。
1E6 を 1E10 に変更しています。
12行、58行、62行

c0335218_14441607.jpg


全プログラムリスト 


全プログラムリスト

円周率 1レジスタに10桁表示(とりあえずの試し実験)

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


DM42 ( HP42S )

01 LBL AA
02 SIZE 100 変数領域の確保 R0~R99(もっと大きく出来るがここまで)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 70 ***** 1017 =>70 修正 3レジスタしか計算しない
06 STO 01
*


07 LBL 1 mainループの先頭
08 2
09 STO II
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E10 ***** 1レジスタ10桁表示
13 ×     10,000,000,000倍する
14 RCL IND II
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 INT
30 STO(i)
31 ×
32 -
33 1
34 STO +II
35 R↓
36 RCL II
37 5 ***** 54=> 5   レジスタ3個しか計算しない
38 -
39 X=0?
40 GTO 3
41 R↓
42 GTO 2

*
43 LBL 3
44 2
45 STO 2
46 RCL 1
47 1
48 -
49 STO 1
50 X>0 ?
51 GTO 1
-------------------------------------
52 4 ***** 53 => 5 修正  
        桁上がり(キャリー)処理
        を後ろのレジスタ(4番目)より順に処理する
53 STO II
54 0 最初はキャリー無しから始まる

*
55 LBL 4 ---桁上がり処理ループ先頭------------
56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) O or 1 の加算されたレジスタを読み込む
58 1E10      E6 => E10 10,000,000,000で割り算
59 ÷
60 INT 7桁目(キャリー)を取り出す
61 STO 1 キャリーをR1にセーブしておく
62 1E10 ***** キャリーを10,000,000,000倍する
63 ×
64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 1 キャリーをR1からXレジスターに戻す
66 DSE II インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 4
68 RCL 2 円周率の頭の3を読み込んで終わりとする
69 RTN


答えの 1レジスタに10桁表示。


R02 3,
R03 1,415,926,535
R04 8,979,323,846  

最後小数点以下 20桁目


========




電子工作ランキング

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

by telmic-gunma | 2019-06-19 01:53 | HP電卓 | Trackback | Comments(0)

まだ 計算式とプログラムの関係がよく解らないのですが、
いろい調べていて演算桁数を広げる方法が見えてきたので挑戦して見ます。
オリジナルのHP15Cでは変数領域はR00~R53を使用し円周率の計算結果をR02~R53まで使って306桁を出力していましたが
DM42の直接アドレス領域一杯のR02~R99までを使って582桁までやってみました。
間接アドレスを使えばさらに広い範囲をアクセスできますが、そこは次回に挑戦して見ます。
修正箇所は以下の3か所だけです。

37行  54 => 100
52行  53 => 99
5行  1017 => 2040

出力された答えは、 先頭部、中央部、終わりの所を円周率表と見比べて確認しました。

ここが同一ならば全体があっていると言ってもいいのですよね。

c0335218_14441607.jpg


全プログラムリスト 

円周率582桁全プログラムリスト

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


DM42 ( HP42S )

01 LBL AA
02 SIZE 100 変数領域の確保 R0~R99(もっと大きく出来るがここまで)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 2040   ***** 1017 => 2040 修正
06 STO 01
*

07 LBL 1 mainループの先頭
08 2
09 STO II
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E6
13 ×
14 RCL IND II
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 INT
30 STO(i)
31 ×
32 -
33 1
34 STO +II
35 R↓
36 RCL II
37 100 ***** 54=> 100 ここを修正
38 -
39 X=0?
40 GTO 3
41 R↓
42 GTO 2

*
43 LBL 3
44 2
45 STO 2
46 RCL 1
47 1
48 -
49 STO 1
50 X>0 ?
51 GTO 1
-------------------------------------
52 53 ***** 53 => 99 修正  
        桁上がり(キャリー)処理
        を後ろのレジスタ(99番目)より順に処理する
53 STO II
54 0 最初はキャリー無しから始まる

*
55 LBL 4 ---桁上がり処理ループ先頭------------
56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) O or 1 の加算されたレジスタを読み込む
58 E6 1000000で割り算
59 ÷
60 INT 7桁目(キャリー)を取り出す
61 STO 1 キャリーをR1にセーブしておく
62 E6 キャリーを1000000倍する
63 ×
64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 1 キャリーをR1からXレジスターに戻す
66 DSE II インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 4
68 RCL 2 円周率の頭の3を読み込んで終わりとする
69 RTN


答えは R3 から R99 までひとつのメモリーに6桁分づつ入っています。
この計算でキャリーのあるところは R32 R23 R19 R17 R11 R3 です。
円周率582桁の答えは以下の通りです。(書くまでもないですね。)
+
R02 3
R03 141592
R04 653589
R05 793238
R06 462643
R07 383279
R08 502884
R09 197169
R10 399375
R11 105820
R12 974944
R13 592307
R14 816406
|
|
R50 393607
R51 260249
R52 141273
R53 724586
|
|
R70 057270
R71 365759
R72 591953
|
|
R97 217176
R98 293176
R99 752384 最後小数点以下 582桁目

========



ジャガイモの花
それなりにきれいですね。
c0335218_14594850.jpg
これもジャガイモ

c0335218_14595700.jpg

日陰のミョウガ   元気です。  まだ移植して数週間ですから。
c0335218_15015816.jpg

日向のミョウガ  こっちのが元気かな?  何年もこの場所だからね。
c0335218_15021878.jpg

これは何でしょうか?  地面がバックだと引き立たないですね。
c0335218_15081407.jpg

三角の形の白のアジサイ、まだ途中なのでこれからですね。
c0335218_15094637.jpg


電子工作ランキング

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

by telmic-gunma | 2019-06-15 14:45 | HP電卓 | Trackback | Comments(2)

インターネット上で電卓を使っての円周率の計算を発表している方がいましたので、
それらを参考にさせていただいてDM42(HP42S)でやってみました。

以下の方たちを参考にしました。ありがとうございます。(連絡してませんけれど)

1、「 高機能電卓の情報 」 akatukiさん
2、「 e-Gadge-プログラム関数電卓 」
3、「 Many Digits of Pi by Katie Wasserman - MoHPC 」
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

3の中のHP15CのものをベースにしてDM42(HP42S)に移しました。
変更部分はわずかですが、わずか故にムシがなかなか見つかりませんでした。
下に同じ動作するソフト(15Cと42S)を併記してあります。

(結果)
円周率306桁の演算時間は以下の通りです。
やはり DM42は凄いです。
1分くらいなら気楽に挑戦できますけれど、10時間超えると電池が持つか心配になりますね。
ましてや40時間なんて、やった人いないのでしょうね。
そうそう デバッグして修正して確認するだけでも結果が出るのは明後日だよなんてやってられないでしょう。


DM42(USB駆動 電池の3倍速)   54秒       実測
HP42S               11時間15分位 計算にて予測

HP15C_LE             16分位      実測
HP15C               40時間位     計算にて予測


これだけスピードが速いと今まで出来なかったことも、いろいろとオモチャできますね。
どんなことがあるだろう。


今現在の状況 (2019年6月8日)

  Piを出す式は分かりました。
  プログラムは動きました。
  答えは出て、合っています。
  しかし どうして この式がこのプログラムになるのか理解できません。

ここからがHP電卓の楽しみかもしれませんね。
パズル、ちえの輪 HP電卓(RPN電卓とも言う)という名のゲームマシン 本領発揮ですね。
理解出来たら このリストにコメントをしっかり書きますね。

c0335218_10080924.jpg


全プログラムリスト 

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))

    左側リスト       右側リスト
HP15C ( HP15C_LE ) DM42 ( HP42S )
オリジナルのもの HP15C用をHP42Sように修正したもの

01    LBL AA        42.21.11       01    LBL AA
02 5 5 02 SIZE 100 変数領域の確保 R0~R99
03 3 3
04 DIM(i) 42.23.24
05 FIX 0 42. 7. 0 03 FIX 00 小数点以下表示しない
06 CLR REG 42.34 04 CLRG 変数領域消去
07 1 1 05 1017
08 0 0
09 1 1
10 7 7
11 STO 1 44.1 06 STO 01
12    LBL 1         42.21.1         07    LBL 1       mainループの先頭
13 2 2 08 2
14 STO II 44.25 09 STO II
15 0 0 10 0 CARRYの初期値
16    LBL 2         42.21.2        11    LBL 02      レジスター計算ループの先頭
17 EEX 26 12 1E6
18 6 6
19 × 20 13 ×
20 RCL(i) 45.24 14 RCL IND II
21 RCL 1 45.1 15 RCL 01
22 × 20 16 ×
23 + 40 17 +
24 ENTER 36 18 ENTER
25 ENTER 36 19 ENTER
26 ENTER 36 20 ENTER
27 RCL 1 45.1 21 RCL 01
28 2 2 22 2
29 × 20 23 ×
30 1 1 24 1
31 + 40 25 +
32 ÷ 10 26 ÷
33 LSTX 43.36 27 LSTX
34 X<>Y 34 28 X<>Y
35 INT 43.44 29 INT
36 STO(i) 44.24 30 STO(i)
37 × 20 31 ×
38 - 30 32 -
39 1 1 33 1
40 STO +II 44.40.25 34 STO +II
41 R↓ 33 35 R↓
42 RCL II 45.25 36 RCL II
43 5 5 37 54
44 4 4
45 - 30 38 -
46 X=0? 43.20 39 X=0?
47 GTO 3 22.3 40 GTO 3
48 R↓ 33 41 R↓
49 GTO 2 22.2 42 GTO 2
50    LBL 3      42.21.3           43    LBL 3
51 2 2 44 2
52 STO 2 44.2 45 STO 2
53 RCL 1 45.1 46 RCL 1
54 1 1 47 1
55 - 30 48 -
56 STO 1 44.1 49 STO 1
57 X>0 ? 43.30.1 50 X>0 ?
58 GTO 1 22.1 51 GTO 1
-------------------------------------
59 5 5 52 53 桁上がり(キャリー)レジスターを
60 3 3 後ろのレジスタ(53番目)より順に処理する
61 STO II 44.25 53 STO II
62 0 0 54 0 最初はキャリー無しから始まる
63    LBL 4      42.21.4          55    LBL 4      ---桁上がり処理ループ先頭------------
64 STO +(i) 44.40.24 56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) 45.24 57 RCL (i) O or 1 の加算されたレジスタを読み込む
66 EEX 26 58 E6 1000000で割り算
67 6 6
68 ÷ 10 59 ÷
69 INT 43.44 60 INT 7桁目(キャリー)を取り出す
70 STO 1 44.1 61 STO 1 キャリーをR1にセーブしておく
71 EEX 26 62 E6 キャリーを1000000倍する
72 6 6
73 × 20 63 ×
74 STO -(i) 44.30.24 64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
75 RCL 1 45.1 65 RCL 1 キャリーをR1からXレジスターに戻す
76 DSE II 42.5.25 66 DSE II インデックスポインター1を引いて
0でないならLBL4へ戻る
77 GTO 4 22.445.2 67 GTO 4
78 RCL 2 45.2 68 RCL 2 円周率の頭の3を読み込んで終わりとする
79 RTN 43.32 69 RTN

(注) HP15Cでは変数 I は 1 と判りやすくするため II と書いています。

答えは R3 から R53 までひとつのメモリーに6桁分づつ入っています。
この計算でキャリーのあるところは R32 R23 R19 R17 R11 R3 です。
円周率306桁の答えは以下の通りです。(書くまでもないですね。)

R02    3
R03 141592
R04 653589
R05 793238
R06 462643
R07 383279
R08 502884
R09 197169
R10 399375
R11 105820
R12 974944
R13 592307
R14 816406
|
|
|
R52 141273
R53 724586

========



今年も咲きました。 アルストロメリア  一年たつの早いですね。
c0335218_19443212.jpg


c0335218_19525419.jpg


なでしこ   手入れも何もしていません。去年のままですけれど綺麗に咲きます。

c0335218_19454947.jpg



c0335218_19535951.jpg



新しい場所に植えたイチゴ、大きいのも少しありましたが、ほとんどは小さいままでした。
数は圧倒的に少なくなりました。
移植したせいか、場所が悪かったのか、なにもしない方が良かったみたい。
野菜、くだもの、花 などの生き物を育てるのも難しいですね。
何が悪いと教えてくれるわけでなく、ただ枯れていくだけ。
そして結果が出るのにとても時間がかかり、失敗に気がついて修正しても結果がでるのは1年先とか。
c0335218_19514809.jpg




c0335218_19545676.jpg



電子工作ランキング

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

by telmic-gunma | 2019-06-08 20:06 | HP電卓 | Trackback | Comments(8)

DM42で乱数を遊ぶ (2)

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


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時まで投票場に缶詰になり(投票場から外に出るのは禁止されてます)
一日中 投票箱をにらんでいました。
そして次は、中学校の入学式の来賓、
まあ 端っこに座っているだけでしたがこれも初めて。
今年は、この後何があるのかな。

c0335218_10584652.jpg



c0335218_10585790.jpg




電子工作ランキング

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

by telmic-gunma | 2019-04-11 10:36 | HP電卓 | Trackback | Comments(4)

消費電流を測るためにDM42の内部を覗いたのでその時の写真を載せます。

c0335218_22254080.jpg


c0335218_22255602.jpg


c0335218_22260412.jpg

DM42の消費電流を測ったときの様子です。
測定機は三和計器のPC5000です。
c0335218_22261211.jpg



うわー  また雪だ
c0335218_07235924.jpg



by telmic-gunma | 2019-04-04 07:26 | HP電卓 | Trackback | Comments(0)

DM42で乱数を遊ぶ

DM42になって計算が非常に高速になり、かつUSB外部電源を使用すれば、
電池の消耗を気にしないで済むというメリットがうまれました。
乱数を扱うと、どうしても計算量が大きくなりますが、今までのHP電卓の遅さに悩んでいたことが、
このDM42を使うとかなり改善されます。

c0335218_10083064.jpg

( データ 1 )
HP32Sで乱数を発生させました。
30分で約40000個 バラつきは、4%でした。

( データ 2 )
DM42(電池)で乱数を発生させました。
1分で約30000個 バラつきは、8%でした。

( データ 3 )
DM42 (USB外部電源)で乱数を発生させました。
10分で約1000000個 バラつきは、0.8%でした。


大まかに言ってサンプル数を30倍するとバラつきは 1/10になりました。
いつも思うのですが、CPUで乱数を発生させているなら、現在の状況を監視させて、乱数のバラつきを
自分で補正をかけるようにすればバラつきのない乱数が出来るはずです。
次はこの自分で補正をかけながら乱数を発生するソフトを作って見たいですね。
このDM42の高速性があればかなり面白いこと出来るとおもいます。




乱数精度のデータ ( 表示文字サイズが統一できずバラついてます)


( データ 1 )
HP32S 乱数の精度 (2017-10-31 HP電卓で遊ぶ=>パイの計算 より)

出力されたデータ (30分間測定)
変数名  データー範囲   出力回数
 A     0~1     3920
 B     1~2     3913
 C     2~3     4075
 D     3~4     3937
 E     4~5     3937
 F     5~6     3965
 G     6~7     3925
 H     7~8     4007
 I     8~9      4017
 J     9~10     3983

最大値  4075
最小値  3913
差    162

生データの合計  39677 
データの平均値  39677 / 10 = 3967.7
差 / 平均値   162 / 3867.7 = 0.040829
乱数の発生頻度のバラツキ  4.08%


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

DM42での乱数精度テストプログラム

*01 LBL "AA" ■ [PGM.FNC] LBL "AA" ENT 先頭ラベルをAAとする

*02 123.456                 乱数の種データ

*03 SEED ■ [PROB] SEED      乱数の種データを設定する
*04 CLRG ■ [CLEAR] CLRG        数値変数 00~99をクリアする

*05 LBL "BB" ■ [PGM.FNC] LBL "BB" ENT  ループ先頭ラベルをBBとする

*06 RAN ■ [PROB] RAN 乱数を出力する  0~1

*07 10                 10をセット

*08 ×                  乱数を10倍  0~ 10

*09 STO II                IIを配列ポインターとして乱数をセット

*10 1                  乱数カウンターに加算する数値

*11 STO . IND + II           ポインターで振り分けられた所に1を加算する

*12 GTO "BB"             ループの先頭 BBへ行く


注1、 STO II まだ未定義なら  STO ENT II ENT の手順で定義する。
注2、 ソフトを終了させるには 時計で時間を計り [ R/S ] を押して停止させる。


( データ 2 )

DM42(電池) 1分間

0~1 3120
1~2 3108
2~3 3182
3~4 3119
4~5 3163
5~6 3053
6~7 3094
7~8 3078
8~9 3309
9~10 3050

最大値  3309
最小値  3050
差    259

生データの合計  31276 

データの平均値計算  31276 / 10 = 3127.6

差 / 平均値   259 / 3127.6= 0.0828

乱数の発生頻度のバラツキ  8.28%



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


( データ 3 )
DM42 ( USB 外部電源 10分間 )

0~1 101804
1~2 101900
2~3 101896
3~4 102420
4~5 101843
5~6 102249
6~7 102119
7~8 102431
8~9 102341
9~10 101548

最大値  102431
最小値  101541
差    883

生データの合計  1020551 

データの平均値計算  1020551 / 10 = 102055.1

差 / 平均値   883 / 102055.1= 0.0086521

乱数の発生頻度のバラツキ  0.865%


これで終わりです。




by telmic-gunma | 2019-04-03 22:06 | HP電卓 | Trackback | Comments(0)

DM42の消費電流を測定してみました。

プログラム実行時の電流が 5.3mA というのは大きいですが、動作スピードを考えればとても低いと思います。
USBから電源をもらっているときは、プログラム実行時でも電池の消費は6.7μA 一定なのは良いですね。
机のうえで使うのならば電池を気にしないでおまけに電池の3倍のスピードで使えるのですから。


測定は「三和計器」の PC5000を使いました。
c0335218_20215405.jpg


過去に測定したデータです。   「2016-11-11 HP電卓 消費電流比較してみました 」
HP15C,HP32S、HP32Sii,HP42Sなどこの時代の技術者は超真面目に仕事していたみたいです。
ブログなどで見かける「10年ぶりに出てきたので電源ONしたら動いた」というのは電源OFF時の消費電流が低いからでしょうね。

HP42S は使っているとすぐ電池が終わる感じでしたね。
c0335218_17433451.jpg



過去に測定したデータです。   「2016-12-2 HP電卓 消費電流比較してみました 2 」
HP35Sは 使いたいときは電池がない、という感じ。

c0335218_17432480.jpg


梅が咲くと急速に春が進むようですね。
まずは スイセン 綺麗ですね。   まだこれだけみたいですけれど。
黄色は大好きです、 わたしの自転車も黄色です。

c0335218_08503675.jpg


c0335218_08504405.jpg


c0335218_08505106.jpg



by telmic-gunma | 2019-03-30 08:57 | HP電卓 | Trackback | Comments(2)

DM42の演算速度を計りました。
もうビックリ すごく早いのです。
計り方を間違えているのかもしれません。
今回は、そのままの値をのせます。
電池駆動では、オリジナルの「HP42S」の 約250倍 (15.3 / 0.0617)
USBからの外部電源では、「HP42S」の 約750倍速いです。(15.3 / 0.0206)
いままで早いと言われた「HP15C_LE」と比べても 電池駆動で約8倍 USB駆動で約24倍となりました。

これ 測定ミスなんでしょうか。
プログラムは下に書いてある単純なものです。
どなたか持っておられ方DM42とその他のどれか追試験をしていただけると嬉しいです。

c0335218_17403662.jpg

測定プログラム  すべての機種はこの同一プログラムで動作させました。
一部の機種では、初期値の読み込みやラベル名などに違いがあります。

LBL "AA" ’スタートのラベル
100000    ’カウンターの初期値 10万(機種によりここを200に変えました)
STO 00     ’カウンターの初期値を変数00にストア
LBL "BB"   ’ループ先頭のラベル
1       'カウンターから引く数を1にする
STO -00    ’カウンター 00から1を引く
RCL 00    ’減算されたカウンターの値をXレジスターへ読み込む
X キ 0     ’Xレジスターがゼロでないかチェックする
GTO BB    'ゼロでないならばラベルBBへ移動する
R/S      ’Xレジスターがゼロならば停止する
END      ’プログラムの終わり


わずかこれで終わりです。
演算速度は命令の種類により当然変わるはずです。
ここではプログラムのループ内で使われている命令の平均時間ですね。
厳密には命令ごとの時間が必要ですが、機種ごとのスピード比較ならばこれで良いと思っています。


DM42は1画面に8行のリストが表示されます。
画面だけでプログラムが追える感じです。
今までだと、どうしても紙に書いておかないと、なかなか追えなかったですもんね。

日付 時間も合いました。  ファームのVer3.12 はまだそのままです。
2行目の初期値の設定は 3E5 : 300000 となっています。
c0335218_17563924.jpg
HP42Sと比べるとキーボードはHP42Sの方が丸みがあって好き。
画面はDM42の方がピチっとしており持った感じも適度に重量感があっていいですね。
まあ どちらも「電卓の宝石」「宝石のような電卓」と呼べると思います。
そうそう これだけ早いと電池の消費量もそうとうなのかもしれません。
電池交換するときでも電流を計ってみます。

「M42」と「HP42S」が並んでいます。 いまいち写真の写りが悪いですね、後で取り直しますね。
c0335218_14483907.jpg

左側がDM42のUSBポートに使えるもの、  右側のはダメ

c0335218_17565068.jpg

ようやく梅が咲き始めました。(梅ですよ、桜ではありません。)
c0335218_14563141.jpg
c0335218_14564522.jpg

c0335218_14563999.jpg



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

人気ブログランキングへ
電子工作ランキング


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

by telmic-gunma | 2019-03-25 15:42 | HP電卓 | Trackback | Comments(7)