
コンピュータのカテゴリに書き込もうかとも迷いました。
場違いでしたらすみません。
表計算ソフト(エクセル)で、遊びで円周率の近似をやってみることにしました。半径=0.5の円に内接する正多角形の周の長さを求めるやり方です。半径=0.5にしたのは、直径1の円の円周率は、周の長さをそのまま円周率とすることができるからという理由からです。
半径0.5の円に内接する正多角形の隣り合う2点ABと円の中心Oとを結んで出来る二等辺三角形OABの辺ABの長さは、
=√(0.5^2+0.5^2-2*0.5*0.5*cos∠AOB)(余弦定理)
=√(0.5^2*2*(1-cos∠AOB))
エクセルでの具体的な計算の仕方
(1)
A1セルに「=3」
B1セルに「=SQRT(0.5^2*2*(1-COS(RADIANS(360/A1))))*A1」
※これでA2セルには、半径0.5の円に内接する正三角形の周の長さが表示されます。
(2)
A2セルに「=A1+1」
B2セルに「=SQRT(0.5^2*2*(1-COS(RADIANS(360/A2))))*A2」
(3)
A2、B2を選択して、下方向へオートフィルします。
オートフィルを続ければ続けるほど、正n角形のnが増大するので、3.14にB列に表示される数値は、”下の行に行くほどどんどん円周率πに近づく”はずです。
なのに、正4316角形と正4317角形(セルB4315とセルB4315)では、
正4316角形の周の長さ=3.14159237622779
正4317角形の周の長さ=3.14159237622464
となっており、正4316角形の周の長さよりも正4315角形の周の長さのほうが長いことになっています。
正∞角形の周の長さ÷直径=円周率というのは、数学の教科書にも載っているようなことなので、”下の行に行くほどどんどん円周率πに近づく”という考え方自体は間違っていないと思うのですが・・・
コンピュータの限界とか、そういう問題でしょうか?

No.3ベストアンサー
- 回答日時:
1-cosは、角度が小さいときには、cosがほとんど1に近くなるため、この式のまま計算すると、桁落ちが起ります。
また、この数列は先に行くほど√の中が1に近くなるので、ここでも精度が減少します。結局、15桁使って計算しても、結果の精度はその半分の7桁程度になってしまいます。その上、4000回計算しても7桁の精度しか得られないので、この計算式は非常に能率が悪いといわざるを得ません。アルキメデスがこの式を使ってπを3桁までしか計算できなかったのもわかるというものです。
参考URLにいろいろな式があげてあるので、どれがよいか試してみてはいかがでしょうか?
参考URL:http://oshiete1.goo.ne.jp/qa4536688.html
No.4
- 回答日時:
有効桁数の問題で、お使いの式では7~8桁しか求められません。
以下の2つの「有効桁数が15桁の数値」は、加算しても、正しく加算されません。
1.23456789012345
0.000000000000000123456789012345
この2つをA1、A2セルに入力し、=A1+A2とか=1-A2とか計算してみましょう。
桁落ちが発生し、=A1+A2はA1と同じ値に、=1-A2は1になります。
お使いの式では、SQRTやCOSの計算中に上記のような桁落ちが起き、正確には計算出来ません。
No.2
- 回答日時:
コンピュータの限界ではないです. あなたの使っている式が悪く, 桁落ちのために精度がでないだけ. 桁落ちしない式を使えばもっといけ
る.この回答への補足
なるほど、そうなのですか。
No.1の方のご回答によると、15桁が限界ということなので、その限界を考慮して式を入力すればOKということですか?(計算結果の桁数が小さくなるようにあらかじめ少し引いたり足したりするとか でしょうか・・・)
桁落ちしない式というのは、どのような式なのか、教えていただけるとありがたいです。
(使用したエクセルのバージョンははExcel2000です。)
No.1
- 回答日時:
Excelの仕様です。
有効桁数は15桁までです。
文書番号: 264626 - Excel 2000 仕様の説明
http://support.microsoft.com/kb/264626/ja
| Number precision 15 digits
ご回答ありがとうございます。なるほどー。
(使用したエクセルのバージョン情報も記載せずにすみませんでした。Excel2000で当たっています。)
セルの書式設定の表示形式で「数値」を指定すると、小数点以下の桁数は30桁まで表示は出来るということになっているので、そのくらいの精度があるのかと思っていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
NUMBER(N,M) としたときの、格...
-
数学の階乗はどんな時に使うの...
-
7で始まる電話番号?
-
14桁の16進数を10進数で表した...
-
excelで引き算の計算をしたら、...
-
数値とアルファベットに分ける...
-
Excelで数値の丸め
-
EXCELで10万未満切捨ての...
-
2進数「0110-0011」の計算方法を...
-
3の倍数と3の付く数字でアホに...
-
3÷7のあまりは「3」ですか?
-
数字3桁の組み合わせの何通り...
-
3分の1とは何パーセントでしょ...
-
【場合の数】 2桁の自然数で、2...
-
アナログの電力量計を見たとき ...
-
2進数の割り算が分かりません...
-
1の位が0の時の少数第一位
-
エクセル関数で桁数指定し数値...
-
データの桁数を揃える関数をご...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
数学の階乗はどんな時に使うの...
-
3÷7のあまりは「3」ですか?
-
数値とアルファベットに分ける...
-
2進数の割り算が分かりません...
-
√2の値はなぜ1.414…になるんで...
-
EXCELで10万未満切捨ての...
-
大雪で小屋根の軒桁が外れた
-
NUMBER(N,M) としたときの、格...
-
数字3桁の組み合わせの何通り...
-
関数電卓の表示方法を変更したい
-
Excelで数値の丸め
-
3分の1とは何パーセントでしょ...
-
60進法と10進法
-
エクセル関数で桁数指定し数値...
-
算数です。 割り算の筆算で、商...
-
1÷7の循環小数についてなのです...
-
100!
-
計算をして有効数字2桁で答えな...
おすすめ情報