
コンピュータのカテゴリに書き込もうかとも迷いました。
場違いでしたらすみません。
表計算ソフト(エクセル)で、遊びで円周率の近似をやってみることにしました。半径=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で質問しましょう!
似たような質問が見つかりました
- 数学 『弧は弦より長し』 8 2022/04/18 10:23
- 数学 点Oを中心とし、半径が5である円Oがある。この円周上に2点A、B をAB=6となるようにとる。また、 5 2023/08/16 23:32
- 数学 半径6の円Kを底面とする半球がある。半球の底面に平行な平面が半球と交わっており、交わりの円Lの半径は 6 2022/06/24 06:34
- 数学 円周の近似値について。 次の方法で円周の近似値を求めました。 1.中心角が360/nの扇形を考える。 7 2022/08/17 20:30
- 数学 AB=2,BC=3,∠ABC=60°の三角形がある。 点Aから辺BCに垂線を下ろし辺BCとの交点をD 4 2023/02/02 15:55
- 数学 場合の数、確率 29 導入問題 ( 円周上の鋭角三角形) 4 2023/07/06 18:00
- 数学 三角形ABCの辺BCを4 : 3に内分する点をTとし、点Tを接点として辺BCに接する円が点Aで直線A 3 2023/02/12 21:03
- その他(プログラミング・Web制作) VBA 1 2023/01/19 16:19
- 数学 一辺の長さが1の正n角形の外接円の半径が、一辺の長さが1の正n+1角形の内接円の半径より小さくなるの 6 2023/06/25 20:10
- 物理学 歌口と楕円形の太鼓 1 2023/05/15 23:21
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
3÷7のあまりは「3」ですか?
-
NUMBER(N,M) としたときの、格...
-
7で始まる電話番号?
-
数値とアルファベットに分ける...
-
関数電卓の表示方法を変更したい
-
小数点以下2進数どうしの和と...
-
数学の階乗はどんな時に使うの...
-
エクセル関数で桁数指定し数値...
-
10進法の数を60進法の数に...
-
100!
-
EXCELで10万未満切捨ての...
-
有効数字について 1.00×10^5÷(1...
-
Excelで数値の丸め
-
14桁の16進数を10進数で表した...
-
5個の数字0、1、2、3、4を使っ...
-
3の倍数かつ奇数である数
-
大雪で小屋根の軒桁が外れた
-
基数変換について
-
60進法と10進法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
数値とアルファベットに分ける...
-
数字3桁の組み合わせの何通り...
-
2進数の割り算が分かりません...
-
3÷7のあまりは「3」ですか?
-
数学の階乗はどんな時に使うの...
-
NUMBER(N,M) としたときの、格...
-
EXCELで10万未満切捨ての...
-
大雪で小屋根の軒桁が外れた
-
3分の1とは何パーセントでしょ...
-
電話番号のハイフンの入れ方
-
エクセル関数で桁数指定し数値...
-
関数電卓の表示方法を変更したい
-
Excelで数値の丸め
-
エクセルのsumifの検索値
-
好きな数字が並ぶ不思議?
-
【場合の数】 2桁の自然数で、2...
-
0以下の数字は何桁?
-
60進法と10進法
おすすめ情報