見出し画像

関数電卓の演算の速さと精度について

先ほどの記事で、電卓の速さについて大きな誤りがあったので修正しました。

そのついでに、今まで紹介した関数電卓の演算の速さについて、簡易的に測定してみました。更についでに、計算の精度のベンチマークをしました。

速さについて

69の階乗の計算にかかる時間を測定しました。
この計算は、1から69までの整数を掛けるので、単純計算で69回の演算を行う必要があります(実際にどのような内部演算をしているかまでは分かりません)。
なお、69!=1.711224524×10^98となります。

5測定の平均値と標準偏差を求めました(紙とペンと関数電卓で)。
試すのは以下の5つの関数電卓。

Vol.1 CASIO fx-915ES

Vol.2 SHARP EL-501J

Vol.3 CASIO fx-JP500

Vol.4 CASIO fx-260 SOLAR Ⅱ

Vol.5 Canon F-605G

測定結果は以下のようになりました。
画面に計算結果が表示されてからストップウォッチを止めてるので、多分0.1秒程度多めにかかっています。反射神経の問題。

fx-JP500が0.26±0.03秒で最も速く、次いでfx-260SOLARⅡ(0.31±0.03秒)、僅差(誤差レベル)でEL-501J(0.36±0.05秒)、その次はF-605G(0.64±0.02秒)、最も遅かったのはfx-915ES(0.88±0.06秒)という結果になりました。

F-605Gは決して速くはないです。
また、fx-JP500からEL-501Jまでは速すぎて測定値は不正確です。速さの順はおおよそ上記の通りです。

計算の精度について

精度は、有名なベンチマークで評価しました。355/226の値がπ/2に極めて近いこと、三角関数のtanがπ/2で発散することを利用したものです。

tan(355/226) = -7497258.185…(真値)

単位はラジアンです。
また、相対誤差を次の式で定義します。

相対誤差 = (実測値 - 真値)/真値

結果は以下の通り。

CASIO fx-915ES
tan(355/226)=-7497258.44
相対誤差 = 3.4015×10^-8

SHARP EL-501J
tan(355/226)=-7497094.876
相対誤差 = -2.1782×10^-5

CASIO fx-JP500
tan(355/226)=-7497258.44
相対誤差 = 3.4015×10^-8

CASIO fx-260 SOLAR Ⅱ
tan(355/226)=-7497938.067
相対誤差 = 9.0684×10^-5

Canon F-605G
tan(355/226)=-7497257.878
相対誤差 = -4.0957×10^-8

このベンチマークだけで精度を評価するのは難しいですが、いくつか分かることはあります。
fx-JP500は旧機種のfx-915ESと全く同じ値。アルゴリズムは変わってないのでしょう。
fx-260SOLARⅡは大きめな誤差。まあ機体が小さいのでそれほど気にしない。EL-501Jも誤差がだいぶ大きい。こちらはちょっと気になる。
F-605Gは誤差がかなり小さい。この機体の小ささで、かなり優秀だと思います。

気に入ってる電卓でも、少し遅かったり、値がわずかに不正確だったりするものです(通常の計算にはまず問題ありませんが)。
スペック的に優秀なのは、間違いなくfx-JP500ですが、少しばかり機体が大きかったりするのです。

私は総合的にfx-260SOLARⅡを推します。

最後まで読んでいただきありがとうございます。
次からは一般電卓の話になるかな?

この記事が気に入ったらサポートをしてみませんか?