ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

関数電卓まじスゴイ!コミュの試してみました

  • mixiチェック
  • このエントリーをはてなブックマークに追加
安い関数電卓の実力がどの位の物か試してみました。

階乗で試してみました
普通では64!=1.2688e89
これが限度ですが、対数をとって総和して10の指数で元に戻して計算してみました
上から普通の階乗、スターリングの公式、総和の順です。
10!
3628800
3598696
3.6288e6
50!
3.04141e64
3.0634e64
3.04141e64
100!
9.33262e157 高級な電卓使いました
9.32485e157
9.33626e157
これ以上は総和でしか計算できません
500!
1.22014e1134
1000!
4.02387e2564
5000!
4.22858e16325

16000桁にもなると桁数だけで数値は関係ないですね

コメント(74)

"tan(355/226)[rad]"を計算させてみました
正解 -7497258.185(有効数字10桁)
【CASIO】
fx-570s -7497938.067
fx-912MS -7497094.876
fx-993ES -7497258.44
fx-373ES -7497258.44
fx-5800P -7497258.44
【SHARP】
EL-501J -7497094.876
EL-520J -7497264.149
EL-5160J -7497264.149
【CANON】
F-718SA -7497258.185
【HP】
SmartCalc300s -7497258.159
【TI】
TI-30XB -7497263.499
【Apple】
iPhone4 -7497258.179140373
【Microsoft】
Windows7 -7497258.1853255871129050718318912
Excel2010 -7497258.17914178

F-718SAすげぇ。
これでn進計算が出来ればメインにできるんだけどなぁ。
tan(355/226)[rad]"を計算させてみました

カシオの計算サイト
-7497258.185325587112905071831891248663417268

もっと高精度なら

-7497258.185325587112905071831891248663417267943785263161571 223470151837884956238957128186968228183957054084237343569091 055305244545515347262438221855482907652528506272705673487616 811134980279133475661301410255191249217499447722687260056555 403705290475378240439343730184904011792643259137963472583802 933165898552517090255591674124827882373307473716036050112057 620368915928406228729783603262716423359297543488026108671469 078673621562634629726940521231663791549557807504038281193756 274313599297719239960510914320064028144599485107544164541022 623227863930513942348253399212613872898659667976038609470149 11967595369099759
計算の精度を試してみました。
取扱い説明書みれば書いてありますが
1.0000002*0.9999998-1
これで0と9を増やしていって0となった所が精度の限界です。-4e-12とか-4e-14とかが大半です。内部演算が12桁とか14桁というものです。
何でも電卓任せで桁落ちなどでの誤差を忘れない様に。
内部演算の桁数を調べるのに私が使う方法は、電卓が持っている定数を使う方法ですね。

例えば
(e-2.718281828)*1E10
eはネイピア数、1E10は1×1^10のこと。
(e-2.718281828)ではなく(π-3.141592654)にしてもいい。

これで、小数表示にして、整数部と小数部の合計桁+10桁が内部演算桁数。
CASIO fx-373ESの場合「4.5904」とでるから、15桁であることがわかる。
Canon F-718SAの場合は「4.5904524」と出るので、18桁であることがわかる。
"tan(355/226)[rad]"の計算結果に内部演算桁数を追加

正解 ・・・・・・・・・・・ -7497258.185
【CASIO】
fx-570s ・・・・・・・・ -7497938.067(12桁)
fx-912M ・・・・・・・・ -7497094.876(12桁)
fx-993ES ・・・・・・・ -7497258.44 (15桁)
fx-373ES ・・・・・・・ -7497258.44 (15桁)
fx-5800P ・・・・・・・ -7497258.44 (15桁)
【SHARP】
EL-501J ・・・・・・・・ -7497094.876(12桁)
EL-520J ・・・・・・・・ -7497264.149(14桁)
EL-5160J ・・・・・・・ -7497264.149(14桁)
【CANON】
F-718SA ・・・・・・・・ -7497258.185(18桁)
【HP】
SmartCalc300s ・・ -7497258.159(15桁)
【TI】
TI-30XB ・・・・・・・・ -7497263.499(13桁)

なかなか興味深い結果が得られました。
内部演算桁数が同じなのに、結果が違う機種があります。


12桁3機種のうち、fx-912MSとEL-501Jは同じ結果ですが、fx-570sだけは違う結果。

15桁4機種では、カシオの3機種は同じ結果ですが、HPの300sは違う結果になっています。
誤差が小さいのはHPの300s。

14桁のEL-520J/EL-5160Jより、13桁のTI-30XBの方が誤差が小さいのも、なかなかおもしろい。

端数処理の関係で、同じ桁数でも結果が違ってくるのでしょうね。
普通の関数電卓は指数で-99〜99までフォローされているはずです。
では(x+y)(x-y)=x^2-y^2
を試してみましょう
(1+1e-10)(1-1e-10)-1

-1e-20

になりましたか
>>41 水田マリさん
それだと、"0"になるでしょうね。
手持ちの電卓でいくつか試しましたが、いずれも0になりましたから。
これは桁落ちとか精度の問題ではありません。
計算のアルゴリズムの話です。
有限要素法やシミュレーションの見えない条件など、コンピュータでは見えない所でこのような事が起きていると思います。
電卓に話を戻しますが、数学に反しない様に自分でプログラムを組んで数値解析ができる機種がまだ必要ですね。数式通りもいいけど正しい答えの方が重要です。
試してみました。
(1+A)^2 -1-2A

Aの値に
1e-4
1e-6
1e-8
1e-10
を入れて計算してみて下さい。
難しい計算ではないと思います。
コンピュータや電卓を含む計算機は"デジタル"である以上、どうしたって、"捨てる"情報はありますよ。
bit数を増やせば精度は上げられますが、それとて、やはり捨てる情報はある。
真の意味での"アナログ"コンピュータが出来れば、また別なのでしょうが。


ちなみに、(1+A)^2-1-2Aを試してみましたが
指数部を大きくしていくと

EL-5160・・・指数部7で0。指数部6では1e-12。
F-718SA・・・指数部9で0。指数部8では1e-16。
fx-5800P・・・指数部7で0。指数部6では1e-12。

少し式は変えてあります
(1+10^A)^2-1-2×10^A
これでAをStart-10、End0、Step1で計算。
SHARPの電卓はよくわからないので、ALGB使ったけど、CASIOでいうTABLEモードって無いのかなぁ。

それにしても、どうもSHARPの電卓は使いにくい。慣れの問題だとは思うのだけど。
はじめまして。
これは明らかに掛け算の桁落ちのお話をされているかと思いますけど。
桁落ちのように見えますが、これは電卓の初期のアルゴリズムをそのまま使ってるからじゃないかなと思っています。
今ならメモリーも余ってるし数式処理もできるのだから変えて欲しいですね。

カシオは高精度な計算サイトで実現してるからそれを電卓にして欲しいです。

http://keisan.casio.jp/cgi-bin/Free.cgi
”桁落ち”ではなく、”情報落ち”でしょう。

桁落ちっていうのは、例えば
1.23456Exp+5-1.23450Exp+5と「有効数字6桁」の減算結果が、6Exp+0と、「有効数字1桁」まで、有効数字が減少してしまうこと。


(1+1Exp-10)^2-1-2Exp-10を内部演算15桁の電卓で計算するとして。
内部処理は以下のようになっていると予想。

(1+1Exp-10)を小数で表せば、1.000 000 000 1。
有効数字11桁だから、内部演算15桁なら、十分足りる。

自乗すれば、1.000 000 000 200 000 000 01
ここで、必要な精度は21桁になるが、ここでは「内部15桁」の電卓なので
1.000 000 000 200 00となり下6桁"0 000 01"が消失する。
これから-1で0.000 000 000 200 00。
さらに-2Exp-10で、0.000 000 000 000 00=0
最下位桁の扱いは、メーカーや機種ごとに違いはあると思うが、考え方はそう違っていないと思う。
なるほど。オーバーフローは桁落ちと云うと思っていたんですが,
桁落ちと情報落ちと分けて呼ぶんですね。知りませんでした。
ユウナさんの言ってる事はたぶん合ってるでしょう。でもそれではダメなんです。
指数で-99から99まで計算できるという事で商品が売られています。途中の計算でこの範囲を越してもいません。
きつい事言えば計算の正確性が保証されていないのです。
議論しても意味ないので、試してみましたは、こんな使い方ができる。信じていたのに違っていたというのを探していきたいと思っています。
ついでにもう一つ
A=1、B=1e-10
として
(A+B)*(A-B)-1
を展開して
A^2-B^2-1
これをまとめて
(A+1)*(A-1)-B^2

これで答えが違ってしまうのは数式通りの問題点でしょうね。
数学的には水田マリさんの言うとおりなんですが、有効数字の話ですからね。

私の感覚で言えば、「1e0+1e-10」なんて言うのは、殆どの場合「1」で計算しても何の問題もない。
1に対して1e-10なんてあまりに小さいので、無視しても支障はないですから。

銀行なんかは100億円に対して1円違ってもNGみたいですが、科学技術分野では「誤差」で済まされてしまう話でしょう。
(10桁とか20桁もの精度を必要とする分野って何があるんですかね??)

実際のところ、計算精度に関して言えば計算尺で十分だという分野は多い。
計算尺の精度は、せいぜい3〜4桁ですね。場合によっては2桁です。
関数電卓が便利なので、今時、計算尺なんて見ませんけどね。
探してみたら、原子構造の固有値問題の数値解析、人工衛星の軌道計算で必要らしいです。
がっかりしたのは、宝くじで6億円当てて銀行に貯金して利息(0.02%)で生活。一日328円にしかならない。取り崩せばいいんだけど、計算が目的だからこんなのも見つかりました。
衛星やらを関数電卓で飛ばせたら、それはそれで凄い話だと思いますね。

宝くじの話は、確かにガッカリですね。
当たる確率を計算するくらいにしておこう。
こんな人もいますよ

http://anoda.web.fc2.com/oldpage/space/mlab06/mlab06.htm
本当に、衛星の軌道計算している人いるんだ…スイングバイとか、関数電卓でだせるとはねぇ。

考えてみたら、関数電卓登場以前から、ロケットは飛ばしてるんだよね…
もちろん、大型コンピュータはあり、最終的にはこれで計算していたはずですが。
統計学に挑戦。関数電卓の取り扱い説明書には、平均とか偏差、せいぜい回帰までが出ています。推定や検定で使うt分布、χ二乗分布、F分布などは出ていません。公式をみても複雑だし、ガンマ関数、ベータ関数を積分で求めるのも厄介です。
そこで
Γ(1/2)=(π)^1/2 ルートπ
Γ(3/2)=Γ(1/2)・1/2
Γ(5/2)=Γ(1/2)・1/2・3/2
Γ(7/2)=Γ(1/2)・1/2・3/2・5/2

即ちΓ(1/2)が判ってるいれば求められます。
t分布、χ二乗分布、F分布の公式と使い方は自分で勉強してください。

パソコンを使わなくても電卓で求められます。
統計学に挑戦、第二段。 t分布、χ二乗分布、F分布表を求めてみました。統計の本の巻末に載っているけど、欲しい自由度が載っていないとか、確率が95%と99%しかないので普通は表から補完で求めています。
電卓があるのだから挑戦してみました。
まず
ガンマー関数は
Γ(n/2)=(2xn)! X√π / {2^(2xn) X n!}

t分布、χ二乗分布、F分布の密度関数は自分で調べてください。

計算の方法は密度関数を積分して確率や有意水準と同じ積分範囲を
ソルバーで求めるだけです。
いろいろ試した結果、手計算で積分を出来ればソルバーで答えを求めれば良い。
手計算ができなければ、プログラムを組まないとダメに達しました。
しかしプログラムに、積分と、ソルバーを組み込む事ができないので
自分で書くしかない。
(1)シンプソン法を使って密度関数から定積分を計算
(2)ニュートン法で答え合わせ
(3)合わなかったら積分範囲を修正して(1)に戻る

電卓での計算は可能でしたが、予想外に時間がかかります。

ブルーバックスの「連分数のふしぎ」という本を買ったので試してみました。 連分数を求める事は簡単でした。 整数部分を引いて逆数をとるだけ。 例として

1.2708333なら

1.2708333-1=0.2708333

inv(0.280333)=3.6923081

3.6923081-3=0.6923081

inv(0.6923081)=1.444444

1.444444-1=0.444444

inv(0.444444)=2.2500047

2.2500047-2=0.2500047

inv(0.2500047)=3.9999248

式の右側はアンサーなので自動的に入ります。
引いた整数を並べると連分数になります。 13124 簡単に求まるけど何に使えるんだろう。 物理定数なんかやってみたら何か発見でもあるかな。

ソルバー機能は便利
6個の変数を使います

a:複利期間
b:利率
c:支払額または受取額
d:現在価値または元金
e:将来価値または元利合計
f:期末払い f=0 :期頭払い f=1 のフラッグ

複利計算の一般式は以下の通りです。

d+(1+b*f)*c*(((1-(1+b)^(-a))/b)+d*(1+b)^-a=0

これを入れておいてソルバー機能で解くだけのものです。
d以外の数値を入れてdを求めればローン計算
e以外の数値を入れてeを求めれば積立計算
c 以外の数値を入れてcを求めれば必要な支払額または受取額が求まります

金融電卓として住宅ローン計算などに役立ちます
取扱い説明書での複素数計算の説明ではたいした計算ができません。
複素数の三角関数や指数関数が計算できないか試してみました
オイラーの公式と三角関数の加法定理が知っていることが前提です。
オイラーの公式
e^ix= cos (x) + i sin(x)
e^-ix=cos(x) - i sin(x)
これを使って

cos(x)=(e^ix +e^-ix)/2
sin(x)=(e^ix -e^-ix)/2

これより
cos(ix)=(e^-x +e^x)/2 =cosh(x)
sin(ix)=(e^-x -e^x)/(2i)=isinh(x)

これを使用して加法定理より
cos(x+iy)=cos(x)cosh(y)-isin(x)sinh(y)
sin(x+iy)=sin(x)cosh(y)+icos(x)sinh(y)

数学知ってれば複素数モードで計算出来る事わかりました

j乗は定義通り
(x+iy)^n=r^n e^inθ=r^ncos(nθ)+ir^nsin(nθ)
局座標モードが鍵でした。1/nは書かなくてもわかりますね。

応用で計算できました。
円周率、ネピア数何となく数学から求められているようですが、3乗するとなんか別の意味があるような気がします
π^3=31
e^3=20
数機種、新たに購入しましたので、テスト。
計算は、「e-2.718281828」「6÷2(1+2)」、それとラジアンモードで「tan(355/226)」

hp「HP10s+」
e-2.718281828 = 4.59045E-10
6÷2(1+2) = 1
tan(355/226) = -7497258.194

hp「HP300s+」
e-2.718281828 = 4.59045E-10
6÷2(1+2) = 1
tan(355/226) = -7497258.159

CASIO「fx-995ES」
e-2.718281828 = 4.5904E-10
6÷2(1+2) = 1
tan(355/226) = -7497258.44

Canon「F-789SG」
e-2.718281828 = 4.590452353E-10
6÷2(1+2) = 1
tan(355/226) = -7497258.185

Canon「X MARK I PRO」
e-2.718281828 = 4.590452353E-10
6÷2(1+2) = 1
tan(355/226) = -7497258.185

相変わらず、キヤノンは内部演算桁数多いみたい。
ウェブサイトとマニュアルには18桁と書いてあるのに、実際は20桁で計算してるっぽい。
355/226 これをどう扱うか226=113 x 2
355/113を円周率の近似とすればπ /2で
tan ( π / 2 ) = ∞

tanの半角の公式を使って変形すれば
θに355 / 113を入れて

tan θ/2 = sin θ / (1 + cos θ ) = ∞
=( 1 + cos θ ) / sin θ = -7497258.+α

精度だけでなく式の変形でも答えは変わってきます。何の計算をしているか知ることが必要です。
角谷の予想を試してみました
1: 最初に適当な数字を決める。
2:奇数なら3倍して1を足す。
3:偶数なら2で割る。

2、3を繰り返していくと必ず数値が1になる。
電卓なら簡単に実験できます。出てくる奇数は素数が多いです。
例 19から初めると

19、58、29、88、44、11、34、17、52、26、
13、40、20、10、5、16、8、4、2、1
まだ数学的には証明されてません。ランダムに奇数が出てきますが、もしかしたら素数を見つけるルールが発見できるかもしれません。
統計の本が売れているらしいです。
電卓がない時代には、と言っても40年ぐらい前までは、数表が付いていて今でも正規分布表
(正確には標準正規分布表)が載せられています。説明にはカッコ良く釣鐘型の図が書いてあります。

今では、関数電卓はデータを打ち込むだけで簡単に平均と標準偏差が出せます。数表も簡単に作れます。標準偏差が1と異なる場合どんなグラフになるか試してみました。

正規分布

  1
ーーーーー*exp(-1/2*(x/σ)^2)
(√(2π)*σ) 

のσに1以外の数値を入れればわかります。標準偏差が0.1、1、10など入れて
-5<x<5の範囲で電卓で計算しても標準正規分布からいかにずれているか30分程度でわかります。



試してできませんでした。

1+2+3+4+5+・・・・・・=-1/12

ξ(-3)=1∧3+2∧3+・・・・・・=1/120

カシミール効果

8月のブルーバックス
小栗先生の超弦理論入門

世界は2乗でできている
の2冊で見つけたので試していますが電卓でまだできてません。
上の計算式は間違ってません。

直接確立計算という考え方が有ります。
数表が載っていますが、総和と組み合わせが有る電卓では簡単に計算できます。
n個の中からi個が選ばれる確立。iはnの半分以下の値です。
仮にランダムに20人の中から3人選ばれるとして5人の中に入る確立

  3
  Σ 20Ci.・(1/2)*3=0.01
  i= 0

すなわち0から3までの組み合わせの総和に0.5の3乗を掛けたもので1%になります。直接確立計算については自分で調べてください。
標本数別の限界値
求めるのが難しそうだがソルバー機能を使えば簡単に求まりました。
式は

t=abs(R)•√(n-2) /√(1-R^2)
絶対値でなくてもいいです
t:t分布の両側確立の値
n:サンプル数
ソルバー機能でRを求めるだけです
例 サンプル数20個 5%優意水準 (t=2.086)
R=0.441でした
関数電卓には統計計算の機能が有るけどサンプルサイズが30程度なのでそれ以上の計算をさせてみました。普通の電卓でも計算可能です。

平均 X=1/n*Σ(x)

サンプルを全部足してサンプル数で割るだけだから小学校で習います。

分散 s=1/n*Σ(x-X)^2
   =1/n*(Σ(x^2)-X^2)

サンプルの二乗の総和から平均値の二乗を引いてサンプル数で割る。

分散s1、s2、s3の総和を求めるには平均値X1、X2、X3とすれば

S=(1/3)*(s1+s2+s3+(X1)^2+(X2)^2+(X3)^2) ー(1/9)*(X1+X2+X3)^2

エクセルを使わないでも分散計算が手軽にできるので統計をたのしめます。

ハンバーガー統計学にようこそ!
http://kogolab.chillout.jp/elearn/hamburger/
アイスクリーム統計学にようこそ!
http://kogolab.chillout.jp/elearn/icecream/

などのサイトは面白く勉強できます。
行列式の固有値を計算してみました。取り扱い説明書には3元連立1次方程式や3次方程式の扱いがでていますが使えません。
4次以上はプログラムを組むか、行列式の勉強をしてください。
取りあえず3次でたすき掛け(sarrus)の計算で試してみます。
例として以下の行列式

  1 2 0
A =2 2 2
  0 2 3

固有値はAX=λX
となるようなλだから
1-λ 2 0
2 2-λ 2
0 2  3-λ

sarrusの計算方法で

(1-λ)(2-λ)(3-λ)ー4(1-λ)-4(3-λ)=0
が求まります。電卓ではλを変数に使えないので
(1-X)(2-X)(3-X)-4(1-X)-4(3-X)=0
をソルバー機能で解くと
ー1 2 5
が求まります。安い電卓でも固有値計算出きることがわかりました

ログインすると、残り38件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

関数電卓まじスゴイ! 更新情報

関数電卓まじスゴイ!のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング