2022-11-27

円周率を求める(その6)

  図形から円周率を求める事を試みてみたが、
円周率にはなっていそうだが、精度が上がらな
いようで、不満が残った。
 もっと高い精度が欲しいので、級数形式にし
たいと思い、Wikipediaを調べてみると、沢山
出てきた。数学の力を改めて感じた。
代表的なものを以下にあげる。

①のグレゴリ-・ライプニッツの公式は比較的わかり
やすいもので、マクローリン級数とx=1の時の三角
関数arctanx=π/4で、この式にたどり着けます。
但し、中々収束しません。5000万回繰返しても、
小数点以下10桁迄の精度しか有りませんでした。
ピタゴラス、アルキメデスでは24回の繰返しで
小数点以下14桁の精度でした。
②のマチンの公式では右辺の第一項及び第二項あわせ
ても16回の繰返し計算で小数点以下14桁の精度にな
りました。
③ガウス・ルジャンドルのアルゴリズムでは、3回の
繰返し計算で、小数点以下14桁の精度になりました。 

ここでは、3種類を同時に計算させるため、雑ですが
次のようにプログラムを書きました。

計算結果
小数点14桁より下は、プログラムの倍精度数値の
範囲外であるため、ここでは0と表示されたりする。

補足
グレゴリ-・ライプニッツの公式について
マクローリン級数において、x<1を考慮すると
一気に収束が早くなる。
なんと、30回程度の繰返し計算でπ関数とほぼ同じ
値を得る事が出来た。

0 件のコメント:

コメントを投稿

円周率を求める (その7)

 円周率を求めるにあたり、どうしても変数に許 されるメモリー上の制限がある。これにより通常 の変数は15桁迄となっている。  JAVAでは、その制限に対する解決策として、 BigIntegerクラスの整数型の変数が使えるので、 これを使って、より高精度な円周率を求めてみる  これ...