つきいち日記へ戻る  

プログラマブル関数電卓 EL-5250 その2

2005年5月4日 9:58:56

(続き)

● メモリ

 関数電卓のうれしい点の一つに、メモリの多さがある。メモリは数値の一時記憶である。技術計算では2〜3の数値を控えておきたい事がよくある。中級以上の関数電卓では、電源を切っても値が記録されたままになる。

 EL-5250にはA,B,C,..X,Y,Z,θの、27の「独立メモリ」がある。計算機言語を知っている人には変数という言い方が分かりやすく、EL-5250では「グローバル変数」とも名付けられている。
 [STO][A]などで記録(上書き)、[RCL][A]などで呼びだしとなる。式中では[ALPHA][A]と操作すると文字「A」が表示され、その位置でAメモリの値が利用される。メモリの値は変り得るから、変数Aなどと呼ばれるのだ。

 EL-5250には「ローカル変数」と呼ばれる9つまでのメモリが追加確保できる。A0などの名前を付けて使用する。面白いことに、ローカル変数は数式保存(後述)時にファイル保存され、数式呼び出し時に戻るので、グローバル変数よりも長寿命となる。
 ローカル変数をいったん定義してしまうと、[ON/C]でも消去されない(名前の変更は可能)。定義を一つずつ消去することはできず、メモリクリアを使うか(ただし全グローバル変数も0になる)、[MODE][0]とすると全ローカル変数が無定義になる。

 通常の電卓では、計算結果が次の初期値に引き継がれる。EL-5250でも自明な場合は計算結果が引き継がれ、表示では参照場所に「Ans」と示される。明示的に最終計算結果を使うときは、[ALPHA][ANS]と操作する。

● シミュレーション機能

 変数を含んだ数式を打ち込んでおき、[2ndF][ALGB]と操作すると、シミュレーション機能モードに入る。
 計算機は変数(ローカル変数可)のアルファペット順に数値の入力を求めてくる。たとえば、台形の面積を求めるつもりで、

  1┌2(A+B)H ┌は分数記号で、1┌2は1/2を表す

 と打ち、[2ndF][ALGB]と操作すると、A= 0.などと表示されるから、Aの値を入力する。以後、B、Hの入力が求められ、Hの入力が終了するか、あるいは途中でも[2ndF][EXE]と操作すると結果が計算される。
 さらに[ENTER]を押すと、再びAの値から入力を求めてくる。すでに変数に入っている値が表示されているので、そのままなら[ENTER]を押せばよいし、修正するなら数値を入力する。もちろん、変数A, B, Hの値は最新の入力値に入れ替わる。いろんな数値の場合を試せるからシミュレーション機能と呼ばれる。
 シミュレーション機能モードを抜けるには、[ON/C]キーを押す。

● 数式保存

 EL-5250はシャープの「文字電卓」の伝統を引き継いでいて、打ち込んだ数式が一時的に記録され、あとで修正も可能である。EL-5250は一行160文字までの数式が記憶できる。いったん[ENTER]キーを押して計算が終了しても、[↑]キーなどで数式が呼び出せ、修正も可能である。合計160文字以内なら、それ以前の数式も保存されていて、[2ndF][ENTRY]の操作で呼び出すことができる。

 数式に名前をつけて保存することができる。数式が保持されている時点で[FILE]キーを押すと、ファイル操作の表示になる。「SAVE」を選択すると、ファイル名を聞いてくるので、7文字以内で名前を付ける。保存されるのは、数式と、その時点でのローカル変数である。
 数式を呼び出すには、ファイル操作の画面で「LOAD」を選ぶ。ローカル変数は保存時点のものに戻る。

● ソルバー機能―方程式を解く

 EL-5250には二次方程式、三次方程式、二元連立一次方程式、三元連立一次方程式を解くための専用のモードがある。
 それとは別に、任意の方程式の解をニュートン法で求める、ソルバー機能がある。ニュートン法は計算機の世界では良く知られた実用解法である。しかし、解の探索であるので、失敗することもある。解の範囲が分かっている場合は、あらかじめ探索範囲を指定することも可能である。

 まず、方程式を打ち込む。先ほどの台形の例だと、

  S=1┌2(A+B)H

 などと打ち込む。「=」は[ALPHA][=]と押す。
 ここで[ENTER]キーを押すとエラーになり、再び打ち込まないといけない。数式保存は可能である。

 ソルバー機能を起動するには、[MATH][5]と操作し、ソルバー機能モードに入る。シミュレーション機能時と良く似て、A= 0.などと表示される。
 ここで、先ほどと同様にA, B, Hに値を入れるとSの入力を求められ、ここで[ENTER]キーを押しても何も起こらない。面積を計算させるには、S= が表示されている場面で、[2ndF][EXE]と指令する。
 ソルバー機能は逆向きの計算が可能ということである。今度は変数Sに適当な面積値を入力しておき、H= が表示されている場面で、[2ndF][EXE]と指令すると、Hの値が探索される。

 上記の例では左辺は変数Sだけで簡単だったが、もっと複雑なものでもかまわない。解の探索終了時には、左右の辺の値も同時に表示される。
 ソルバー機能モードを抜けるには、[ON/C]キーを押す。

 なお、EL-5060にもソルバー機能がある。ただし、式の値は0、探索される変数はXに固定である。固定されているので多少不便だが、内容は実質的に変わらないし、意味はEL-5060の方が分かりやすいと思う。

● 微分

 EL-5250でもEL-5060でも、数値微分と数値積分が可能である。
 電卓が微積分をするとは生意気な、と思う方もいらっしゃるだろうが、式の微積分と数値積分は全く違う。
 微分が、たとえば、速度から加速度を得る操作、積分が速度から位置を得る操作であることを思いだそう。計算機の微分は具体的な値の瞬間の変化率を引き算と割り算で算出し、積分は変化を足し算して蓄積するだけである。そうは言っても、高速計算機の開発動機の一つは明らかに数値積分なので、計算機ならではの機能でもある。

 EL-5250で可能なのは、一変数の関数の数値的な微積分である。
 微分の方は簡単で、変数Xを含む式、たとえば、

  X3+2X2-4X-1

 などを入力しておいて、[2ndF][d/dx]とキーを押す。どの時点の変化率(グラフでは接線の傾き)かを聞いてくるので、Xの値を入力する。電卓は、指定された点のわずかな前後の値から変化率、つまり微分値を計算する。別のXの値での変化率を連続して計算することができる。
 微分モードを抜けるには、[ON/C]キーを押す。
 3次関数にしたのはちょっと理由があって、試してみると分かるが原点を離れると急激に変化率が上昇するのである。

● 積分

 今度は、同じ式が表示されているところで、[∫dx]キーを押してみよう。積分する区間[a,b]を聞いてくるので入力、分割数は最初100になっているが、変えてもよい。たとえば、a=0、b=1としてみる。シンプソン則と呼ばれる計算法で積分値が計算される。
 答えは-2.0833..となる。積分はグラフで説明するとX軸とグラフの間の面積であるが、負になったからといってたじろいではいけない。X軸から上なら正だが、下なら負であって、それで矛盾しない。
 積分モードを抜けるには、[ON/C]キーを押す。

 EL-5250は十分に高速と思うが、それでも計算に数秒かかる。今のパソコンなら、瞬間だろう。
 いったい、関数電卓で積分をする意味はあるのか、と問いたくもなる。たしかに、実用かどうかは微妙なところだ。
 最近役立った場面と言えば、大学入試問題の検算である。三次関数とX軸の囲む面積を算出させ、さらに原点を通る直線が面積を二分する場合の傾きを求めよ、というものである。もちろん、式の変形で解けるわけだが、うっかりミスの余地を無くしたい。そこで、手計算の解に基づいて数値計算させ、面積が筆算値と一致するかを確かめるのである。上述の問題の場合、三次方程式の解を変数に入れて数値積分を行った。EL-5250では三次方程式と数値積分のモードが異なるので、手で数値を書き写して変数に打ち込む、というお間抜けな操作があったものの、目的は十分に達成できた。
 数値計算のプログラム作成時にも、式の変形を手で行うことがあるから、うっかりミスを防ぐには、具体的な値で検算することになる。その場合、当のプログラムの完成前にできるだけミスの混入を防ぎたい。そのような場面で、電卓の数値計算が役立つと思う。

(続く)