2014年2月24日月曜日

HP Primeで「Tiny Reaction Chambre」を実行してみました

まだ日本語クイックガイド付きHP Primeが出ないので、ヘタれな当方は、なかなか購入するに至りませんが、そんな時は、シミュレータで遊んでみる事にします。

先日、Stepney様から、当方の文書にある「Tiny Chambre」が動かないという指摘を戴き、急遽修正したのですが、その時思ったのが、「HP Primeでも出来そう ?」という事でした。

プログラムで反応容器の計算を行い、計算データをリストに構成して、グラフのプロットはHP Primeの「Statistics 2 Var」を用います。

プログラム「chambre.ppl」

EXPORT CHAMBRE()
BEGIN

LOCAL  j;

// C for reaction Countre
C:=200;
// S for chambre Size
S:=100;
// C1, C2 for Scatter Graph
MAKELIST(X,X,1,C,1)▶C1;
MAKELIST(1,X,1,C,1)▶C2;
// C3 for Chambre
MAKELIST(1,X,1,S,1)▶C3;

// try C count reaction in chambre
FOR j FROM 1 TO C DO
  // select one molecure for reaction randomly
  P:=RANDINT(S-1)+1;
  // reaction molecure eliminated
  0▶C3(P);
  // counts left molecure in chambre
  ΣLIST(C3)▶C2(j);
END;

END;

プログラムを実行後、[Apps]キーを押して「Statistics 2Var」を選びます。



さらに[Symb]キーを押し、「Type1」項目を「Exponential」にしておきます。


後は、[Plot]キーを押してやれば、シミュレーション結果と回帰分析曲線を重ね描き出来ると思います。



プログラムについて、簡単な解説。今回、乱数発生に「RANDINT()」を用いました。結構「曲者」です。
RANDINT(a) とすると、0からaの範囲で整数乱数を返す、とあります。[0,a]であって、[0,a) ではない、という具合。
そのため、
  P:=RANDINT(S-1)+1;
という具合にしました。

---

アベ政権によって、日中の関係は悪化する方向にあり、fx-5800pの価格上昇や、日本語クィックガイド付きがなかなか出て来ない、という影響があるのかも知れません。
並行輸入版が、残り少なくなって来ましたHP Primeですが、そろそろ、日本語クィックガイド付きが入って来ないのかなァ。July様、宜しくお願いしますヨ。