2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ウェブページ

無料ブログはココログ

« 2012年6月 | トップページ | 2012年8月 »

2012年7月

2012年7月27日 (金)

MATIC

MATIC

マチック という語感に弱い。

なのでこういう選択になってしまった。

2012年7月26日 (木)

革バンド

革バンド

革バンドです。

結局コレは使わないのですが。

日常使いのクロノグラフがやや不調の兆しをみせていたのがきっかけ。

首を突っ込まないように気をつけていたのですが。。。

2012年7月16日 (月)

ラストアンサーの迷走と,表示される内部桁数を求める無意味. / カシオ 数式通り入力タイプの関数電卓 fx-4500PA

ラストアンサーの迷走 / カシオ 数式通り入力タイプの関数電卓 fx-4500PA


写真は,

CASIO fx-4500PA

1992年頃には存在していたようだ.
この系統の末期のモデルだ.

[x^y] の表示がかわいいではないか.

数式通り入力タイプ.上の段がドットマトリックス.
下段の解答エリアは7セグメントの異色な液晶ディスプレイを持っている.

おそらくは4000系統の最後のモデルだが,まだ数式通り入力タイプとして未完成のままだ.プログラムも組める上位の機種なのだが.

手帳型ケースに収まる関数電卓の末期のモデルといっても良いだろう.

現在の視点でみると いろんなところがチャーミングなので,結構持ち歩いて楽しんでいた.

マニュアルは製本してあり,おそろしい程その内容は懇切丁寧だ.
数式通り入力タイプは まだ提供者もユーザーも未体験ゾーンだったらしい.


さて本題.

チャーミングなコイツをあまりおとしめたくないし,面倒なのであまりやりたくはないのだが,私的には通らねばならない.



ラストアンサーの迷走 / カシオ 数式通り入力タイプの関数電卓 fx-4500PA

上の写真(最上段と同じ)は 2番目の例題をやらせたところでもある.
(4/3)πr^3=1000 の時,r を求めよ.
(例題R1-1)
半径rの球の体積の公式だ.
そして得られた解答で,設問の 1000 を得られるかどうか検算する.

r を メモリA にストアして
正解の [1000] を返せないのだ.
やり方によってはもっと誤差が大きくなる.




ラストアンサーの迷走 / カシオ 数式通り入力タイプの関数電卓 fx-4500PA

(ご推察の通り,正解を返す方法はもちろんある.)



この関数電卓は1番目の例題,
2√((1/8)^2+(1/12)^2)^-1
(8の逆数の2乗に 12の逆数の2乗を足したものの逆数を開平して2を掛ける.) (例題G1-1)

の答えを,なんと関数電卓ではない普通の10桁の電卓と同じ精度で返すのだ.

標準入力タイプのように数式を分割しながら入力すると,途中で桁落ちしていくのがわかる.
本機は演算評価の [=] を使った後に演算キーを叩くと,数式エリアに [ANS] ではなく 10桁の数値をプレイバックし,
ラストアンサーキーを叩くと [ANS] を利用するという二刀流である.
ちなみに数式リプレイは前回の1回分のみ である.
再利用に価値のないラストアンサーより,数値を再利用するこの方式の方が良いと思う.
たとえ循環小数を含んで冗長になったとしても.

この時期,カシオには迷いがあったのだろう.どちらも未完成である.



現在の標準的な関数電卓なら表示は10桁でも内部では12桁以上で処理している.
しかし本機は本当に10桁のままで処理している.
これが第一の欠点



遅くとも1979年に標準入力タイプの関数電卓を完成させたカシオだが,こと 数式通り入力タイプの開発には右往左往しているのが私のような素人でも判る.
この時代の関数電卓で育った人材達は,さぞや苦労をしただろう.その分 成長した人材達かもしれない.



第二の欠点は数値の丸めのバグだろう.

解の下方2桁程度の誤差はどうでもよいと思っていたが,そうでもないらしい.

再度の登場だ.2番目の例題
(4/3)πr^3=1000 の時,r を求めよ.
(例題R1-1)
半径rの球の体積の公式だ.
そして得られた解答で,設問の 1000 を得られるかどうか検算する.

この例題に出会わなかったら判らなかった事だ.

解答の一例をあげる.
数値を数式通りに入力すると正解に近い解を返す.

[SHIFT][三乗根][1000][分数キー][(][4][÷][3][×][π][)][EXE]

答え:6.203 504 909
10桁で返す.

機械にも得て不得手がある.数式通りに入力するには頭の中で正しく数式を展開しなければならない.

括弧はあとから入力するのが面倒である.正解に辿り着くのは意外に簡単ではない.
この問題は標準入力タイプの得意な問題ではある.
この問題を補完するためにTable機能的なモノが生まれたのではないだろうか.
標準入力タイプなら方程式は苦手ではない.



しかし,しかしである.

縦からでも横からでも斜めからでも同じ解に辿り着いて欲しいと思うのは私だけだろうか.

球の体積が 1000 というキリの良い数値でなかったら気付かなかった問題.




本機で色々と入力してゆくと3種類の解に辿り着くようだ.

6.203 504 908 98
6.203 504 908 65
6.203 504 908 86

数式に
[×][1000][-][6203]
を追加する事で表示桁を12桁に上げた.つもりだった.ここでつまづいた
数式通りに入力して得た解r=

6.203 504 909(←10桁)

で 1000 に書き戻せるのだが,
半径rを直接入力
6.203 504 9   → 999.999 995 6
6.203 504 91  → 1000
となる.以下は10桁以上なのでメモリを利用している.
本機は[SHIFT][2ndF][ALPHA]の3種類のシフトキーがあり,今回は逆らわずにきちんと使い分けている.
ストアしたメモリの解は3種類とも一見同じ

6.203 504 909(←10桁)

なのだが,メモリを利用すると返す答えが違う.初めは打鍵ミスかと思ったがそうではないらしい.

これだけでも立派なバグではなかろうか.

メモリの中身は12桁で保持しているらしい.
[ALPHA][メモリ][×][1000][-][6203]で下2桁を確認する方法をとった.
確認した12桁で演算結果を示す.
6.203 504 909 → 1000
6.203 504 908 → 999.999 999 5
となる.おかしくないか?
先ほどの9桁直接入力で
6.203 504 91  → 1000
なのだが.

続ける.
6.203 504 908 65→999.999 999 8(メモリKに代入した値を利用)
6.203 504 908 86→999.999 999 9(メモリNに代入した値を利用)
6.203 504 908 98→1000(メモリMに代入した値を利用)

普通にリコールして確認できる10桁の値は同じ
6.203 504 909
なのに,それぞれ違った解を返して良いのか?

数値の端数処理のバグといってよいだろう.



これは あの fx-310 を作ったチームとはまるで違う.穴だらけだ.かなりひどいものだ.






同時に判った事だが,関数電卓は内部精度の桁数で正直に演算しているワケではないようだ.

これ以上は関数電卓のアルゴリズムやらコーデックやらを学ばなければ理解不能だろう.
私はここまでで手を引く事にする.




カシオ fx-4500PA
数式通り入力方式の最後の手帳型プログラム関数電卓である.


コイツは計算尺に近い.

サッと取り出してチャッチャと計算すると...

「だいたい 999.9」

かわいい奴である.



------------------------------------

数か月前になるが,カシオの fx-5800P と CG-20 の実機に触れる機会を得た.
大型量販店のディスプレイ品.この店舗はたびたび利用しており,ディスプレイ品なので問題はないだろう.

5800P → CG-20 と入力方法が厳格になっている.言い換えれば,標準入力の入力法は通用しない.
数値解析には,数式を分割されてはたまらないのだろう.


8の逆数の2乗
標準入力なら
[8][x^-1][x^2]
で良いが,5800PやCG-20は括弧を使わねば入力できない.

標準入力方式は,すでにカシオが関数電卓の入力法としては放棄した方式なのだと再認識した次第.


惜しい。あまりにも惜しい。

---------------------------------------------



2012年7月 8日 (日)

カシオの Fraction 結論編 になる予定でしたが / CASIO fx-310 とか 260A とか hp とか

カシオの Fraction 結論編 になる予定でしたが / CASIO fx-310 とか 260A とか hp とか


大きな写真にしてみました。

無駄に大きすぎる事になっているような気もしますが。



本題
カシオのFraction

賢明な諸兄は,前回までの記事で既に結論が見えている事と思います.


5番目の例題
45×((8+12×2)/60))
答え:24
(例題F5-1)

5番目の例題にはテキスト入力のために括弧のネストがあるが,是非 括弧を外して,紙に書いて手計算あるいは電卓を叩いていただきたい.


関数電卓ではない普通の電卓では,端数処理は限定的であり,分数が出てくる例題では,

・乗算を先に
・除算はなるべくあとにするよう

アドバイスされるようだ.


算数の正しいやり方すら忘れてしまっているが,手計算でも同じだったろうか.割り切れなければ掛け算からやれ.かな。


この5番目の例題は面白い結果をもたらしてくれた.
普通の電卓では乗算を先にすれば答えは 24 だ.
除算を先にしてしまうと,割り切れないので 24 にならないのが普通だ.
電卓の正直な答えだ.


関数電卓では乗算と除算を考えなくても もちろん答えは 24 だ.
(ここで使用するのは,標準入力タイプから数式通り入力タイプにかけて の関数電卓に限定する.)
CASIO,SHARP,Canon,この時代の TI は所有していないので不明だが,30XA も同じだ.
ただし,関数電卓グループはハードルをあげてみよう.


除算を逆数に置き換え,乗算の順序を替える.
すると,hp が脱落する.


5番目の例題を簡素にする.
45×(32/60)
答え:24
(例題F5-2)

さらに
(1/60)×45×32
60の逆数に45を掛けて32を掛ける.
(例題F5-3)
に変形する.


この時,hp の 15cLE,32S は末尾に端数が出てくる.(面倒なので書かない.)
12C Platinum は 24 を返す.ようにみせるので騙されるところだった.

答えに続いて
[2][4][-]
と打鍵すると( 24 を引く.の意. RPN なのでこうなる.),
[1][.][0][EXP][-][1][0]
を返す.

端数が残っている.

なぜこうなるかは今の私には理解できない.
10桁表示の内部13桁保持なので,
23.99999999999 の最後を四捨五入すると 24 と表示されるのだが,端数が残っているのが不思議だ.


15c   は10桁表示
12c P は10桁表示
32s   は12桁表示

である.


それぞれの内部保持桁はまちまちで,

15c  は11桁,πは10桁しか持っていない.
12cP は13桁,πキーがないので手入力で10桁.
32s  は14桁,πは12桁.


私の浅い経験では,表示桁+2~3桁を内部に保持していないと目に見えて誤差が大きくなる.


したがって、15c は誤差が大きく,32s は誤差を収束できるはずだが,Voyager と 32s はそもそもアルゴリズムの基本コンセプトが違うので単純に比較すべきではない事は承知している.

端数を内部に残しながらも一見正解を叩きだす 12cP は, hp の最後の意地かもしれない.
(ちなみにWikipediaによると発売年次が2003年と後発)




2番目の例題
(4/3)πr^3=1000 の時,r を求めよ.
(例題R1-1)
半径rの球の体積の公式.
答えは6.2035・・・・となるのだが,この答えを問題に代入して答えが1000になる事を確認する.


これを 12C Platinum にやらせてみると,

カシオの Fraction 結論編 になる予定でしたが / CASIO fx-310 とか 260A とか hp とか

1000.000000

を返す.一見正解を返すようにみえる. が,これも

[1][0][0][0][-]

と打つと

カシオの Fraction 結論編 になる予定でしたが / CASIO fx-310 とか 260A とか hp とか

-0.000000004

と,端数を返す.


内部に端数を持っていながら,一見すると正解を返すところが 12c Platinum の優れたところかもしれない.


15c と 32s はすっきりと

1000

を返さない.(面倒なので数値は書かない.)




ここでカシオである.
2番目と5番目の例題で,どの手順で計算してもキッチリ答えを返す.
数学的にどちらが正しいかは私にはにわかに判断しかねる.
しかし,ランダムな数値であれば,誤差は目立たないが,この例題のように
1000 と 999.9999998 ではユーザーの印象は大きく違うだろう.


カシオに死角なし.か?

--------------------------------------


ここからは fx-310 ではなく,検証しやすいように fx-260A を使う.

ちなみに fx-260A は表示10桁,内部保持桁は14桁,πは11桁である.

推測だが,カシオ機は入力可能な桁数

0.333333333(←10桁)



0.333333333(←10桁)

であり,(当たり前だが)

0.3333333333333(←14桁)



1/3(←3分の1)

と分数に置き換えるのであろう.


プログラムではどうなるか知らないが,この方がシンプルで誤差を生じにくいだろう.


関数電卓の 分数を含んだアルゴリズム を世界で最初に開発したのがカシオなのだろう.
その誇りと,最初の登攀者にのみ許されるのが 【FRACTION】のエンブレムではなかろうか.

内部処理では分数に変換するのだろうが fx-310 でも fx-260A も,小数を含んだ整数の分数への書き戻しはできない.


ちなみに,念のため.
hp 32s は分数の入力を受け付けるが,内部には保持出来ない事は言うまでもない.
[ENTER]キーを叩けば自明である.



数式自然入力タイプの関数電卓が【分数体質】なのは,実はこの時 少なくとも 1979年から始まっていたのだ.



と ここで疑問が残る.SHARP EL-501E である.

501E はどうかと考えていたら,カシオの数式通り入力タイプの疑問が解けた.


まだ続けなければならないようだ.


2012年7月 4日 (水)

関数電卓完全復活顛末記 その4 / CASIO fx-310

関数電卓完全復活顛末記 その4 / CASIO fx-310


ファンクションキーエリアの3段目を見ていただこう.


左から

・分数キー

・スタックエクスチェンジキー
 表が Xスタックと yスタックの スタックチェンジキー
 裏が Xスタックと独立メモリのスタックチェンジキー

・括弧キー
 表が 開き括弧
 裏が FIXキー. 小数点の表示桁設定.固定小数点の FIX .

・括弧キー
 表が 閉じ括弧
 裏が SCI キー.サイエンスモード.

・メモリストアキー
 表がメモリストア.
 裏が小数点設定をノーマルに戻すキー.

・メモリリコールキー
 表がメモリリコールキー
 裏が ENG キー.3桁区切りのエンジニアモード.

なくても良いキーもあるが,スタックチェンジキーが表にある関数電卓は少ない.昔はたくさんあったと推測している.

Xスタックとメモリのスタックチェンジキーは旧い設計だ.メモリが貴重だった時代の工夫が涙ぐましい.



旧い で大事な事を思い出した.

バッテリーは LR-1130 を2個使う.

購入時に店主様が LR-43 を入れてくださった.電圧は同じなので作動していたが,for3K 様のご指摘通り LR-43 は LR-1130 より厚い.
この薄い関数電卓で ミリ単位の誤差は致命傷となる可能性が高かったが,当時のカシオの品質のおかげで,電池蓋は割れずに済んだ.


以前,カシオの電卓はメモリを消さない と書いたが,この時代の電卓には必ずしも当てはまらないらしい.
スライドスイッチをOFFにするとメモリは消える.
基本設計が旧いので,バッテリーを相当喰うのだろう.

私はもっぱら スライドスイッチはオンにしたままで オートオフ 機能を使っている.これだとメモリは消えないし,スタートも速い.バッテリーの減りも速いだろうがね.


それからもうひとつ.

本機には %キーが ない


関数電卓はこれでいいと思うが,こののちに復活するのは,ユーザーの声に惑わされたからではないだろうか.



この CASIO fx-310 は 標準入力タイプの関数電卓として すでに完成の域に達している.これを使っていると,カシオが標準入力タイプの関数電卓をもうラインナップに持たない理由がわかる気もする.

例をあげてみよう.

2番目の例題
(4/3)πr^3=1000 の時,r を求めよ.
(例題R1-1)

をやらせてみる.
答え: 6.2035049

ディスプレイが8桁なのでこうなる.

この例題は頭の中であまり数式を展開せずに 電卓に入力しながら半径 r を求めていただきたい.

打鍵例
[4][÷][3][×][π][÷][1][0][0][0][x <-> y][=][INV][X^1/y][3][=]
答え: 6.2035049

他にも 逆数キーを使う方法などもある.

左項を右に持っていく
[1][0][0][0][÷]
とやると括弧が必要ではないか と頭を使う.(上級者は苦しまないだろうが.)

3乗根のところで
[x^y][3][1/x][=]
としても良く,このへんが標準入力タイプの愉しいところ.



評価すべきは,少なくとも 1979年の時点で端数処理が完成している点.

返した答えを逆算すると,きちんと
1000
を返す.

どの打鍵法を用いても,誤入力していなければ 数値 [1000] に必ずたどり着く.

正解の判らない現場で検算で確信が持てるアドバンテージは大きい.


本機の ディスプレイでは8桁表示だが 内部では数値を11桁で保持している.
この時例題の打鍵法の違いで端数に誤差が生じ,
6.2035049087
だったり
6.2035049088
だったりする.

だが逆算するときちんと
1000
を返す.

当たり前といえば当たり前の話だが,ここで比較対象は hp である.括弧のネストに苦しまない RPN 入力が本領を発揮するだろう.

ちなみに発売年次はWikipediaによると以下の通り.
12c 1981年
15c  1982年
35s  2007年

カハン教授のアルゴリズムでは逆算すると
1000
を返さない.(面倒なので結果は書かない.)


球の体積という一見単純な問題だが,検算で書き戻せない電卓と,スパッと [1000] を返す電卓と あなたはどちらを選ぶだろうか.
どちらが精度が高くみえるか? である.


カシオは精度の高さ(と おそらく低価格)で勝利したのだろう.


しかし,勝者カシオはこののちの数式通り入力方式で落とし穴にはまる.

2番目の例題の書き戻しで
1000
を返せなくなる.
この時代のカシオの数式通りをあまり所有していないが,確かに存在する.


勝者カシオは数式通り入力方式で苦労するのだ.


それはさておき fx-310 である.

関数電卓として私にはこれで充分に思える.是非カシオさんには fx-310 を復刻していただきたいと望む.

機能と基本性能とサイズのすべてで合格だ.

ハードケースより,手帳型ケースの方が使い勝手が良い.

関数電卓の手帳型タイプの再販を望む.



それまで,斜めにディスプレイを見ながら愉しむか,液晶を修理するか.


時間をこじ開けて 液晶の修理にトライするつもりだ.




2012年7月 2日 (月)

例題集 / CASIO の Fraction の前に.

例題集 / CASIO の Fraction の前に.

          2012年07月02日初出
          2012年07月04日補筆


例題を挙げておきます.

以下は引用させていただいた例題です.私が作った例題ではないので信頼性は高いです.


1番目の例題
2√((1/8)^2+(1/12)^2)^-1
(8の逆数の2乗に 12の逆数の2乗を足したものの逆数を開平して2を掛ける.) (例題G1-1)

2番目の例題
(4/3)πr^3=1000 の時,r を求めよ.
(例題R1-1)


この2つの例題は,関数電卓をチェックする時に非常に良い問題だ.

1番目の例題は逆数と表現しているが,本来は分数.分数入力の練習にも良い.私のブログではお馴染みの例題.

2番目の例題は,半径rの球の体積の公式.



3番目の例題
ここからは分数の例題.括弧の中は分数として解釈していただきたい.
20×(3/12)
答え:5
(例題F3-1)

4番目の例題
60×(4/12)
答え:20
(例題F4-1)

5番目の例題
45×((8+12×2)/60))
答え:24
(例題F5-1)

3〜5番目の例題にはテキスト入力のために括弧のネストがあるが,是非 括弧のネストを外して,紙に書いて手計算あるいは電卓を叩いていただきたい.

以上例題集.

今後,バージョンアップしていきたい.


参考文献
・遠藤雅守著 理系人のための関数電卓パーフェクトガイド とりい書房 初版第6刷
・Webページ
 関数電卓マニアの部屋

・TAC電卓研究会著 電卓操作術 第2版 TAC出版 PⅨ

« 2012年6月 | トップページ | 2012年8月 »