トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

tips-PI_FFT

  PI の近似値

πの近似値を求める

三角関数の近似値については Tips-sincos

PIの計算

http://www.kurims.kyoto-u.ac.jp/~ooura/pi_fft-j.html

FFTのモジュール

http://www.kurims.kyoto-u.ac.jp/~ooura/fft-j.html

PIの計算方法

http://xn--w6q13e505b.jp/program/introduction.html

近似値) Tips-maxima

分数 近似値
22/7 3.14... 3桁
333/106 3.1415... 5桁
355/113 3.141592... 7桁
103993/33102 3.141592653... 10桁
1019514486099146/324521540032945 26桁

連分数で表現できるらしいのですがよくわかない。。

deg <-> rad ) Tips-maxima

rad = deg*PI/180
r=d*355/113/180 #7桁 # d*71/4068
r=d*103993/33102/180 #10桁 # d*103993/5958360
r=d*1019514486099146/324521540032945/180 # # d*509757243049573/29206938602965050

  Exp.

#!/bin/env python3
import math
print ((22/7)-math.pi)
print ((333/106)-math.pi)
print ((355/113)-math.pi)
print ((103993/33102)-math.pi)
print ((1019514486099146/324521540032945)-math.pi)
>>> print ((22/7)-math.pi)
					 
0.0012644892673496777
>>> print ((333/106)-math.pi)
					 
-8.32196275291075e-05
>>> print ((355/113)-math.pi)
					 
2.667641894049666e-07
>>> print ((103993/33102)-math.pi)
					 
-5.778906242426274e-10
>>> 

FFTW

FFT

多角形から求める

#!/sbin/env python3 
"""
多角形の辺の長さから円周率を求める
  オリジナルをpython に書き換え
"""
import math 

## pi = math.atan(1) * 4.0  ## オリジナル
pi = math.pi 

for n in range(4,10000) :
   theta = 2.0 * pi / n 
   l = math.sqrt( 1.0 + 1.0 - 2 * math.cos(theta)) 
   # print ( "#",n,"#",l*n/2.0) ## オリジナル
   q = l*n/2.0
   print ( "#",n,"#",q,"#",math.pi - q )