Pi Calculation

pi =

3.141592653589793238462643383279502884197169399375105820974944
  592307816406286208998628034825342117067982148086513282306647
  093844609550582231725359408128481117450284102701938521105559
  644622948954930381964428810975665933446128475648233786783165
  2712019091...

François Viète (1593)

Matlab algorithm for François Viète's method

function Pi = pi_viete(N)
% aydos.com/pi

m = 1/2;
Pi = 1;
for i=1:N
    k = sqrt(m);
    for j=1:i-1
        k = sqrt(k * m + m);
    end
    Pi = Pi * k;
end
Pi = 2/Pi;

John Wallis (1655)

Matlab algorithm for John Wallis's method

function Pi = pi_wallis(N)
% aydos.com/pi

Pi = 2;
for i=1:N
    if (mod(i,2)==0)
        U = i;
        D = i+1;
    else
        U = i+1;
        D = i;
    end;
    Pi = Pi * (U/D);
end

Isaac Newton (1665~)

Matlab algorithm for Isaac Newton's method

function Pi = pi_newton(N)
% aydos.com/pi

Pi = 1/2;
for i=1:N
    k = 2*i + 1;
    U = 1;
    D = 1;
    for j=1:2*i
        if (mod(j,2)==0)
            D = j * D;
        else
            U = j * U;
        end;
    end
    Pi = Pi + ( (U/D) * (1/((k)*(2.^k))) );
end
Pi = 6*Pi;

James Gregory (1671)

Matlab algorithm for James Gregory's method

function Pi = pi_gregory(N)
% aydos.com/pi

Pi = 0;
for i=1:N
    k = (i*2)-1;
    if (mod(i,2)==0)
        Pi = Pi - (1/k);
    else
        Pi = Pi + (1/k);
    end;
end
Pi = 4*Pi;

Leonard Euler 1

Leonard Euler 2

Matlab algorithm for Leonard Euler's method 2

function Pi = pi_euler_2(N)
% aydos.com/pi
 
Pi = 0;
for i=1:N
    Pi = Pi + (1/(i*i));
end
Pi = sqrt(6*Pi);

Leonard Euler 3

Matlab algorithm for Leonard Euler's method 3

function Pi = pi_euler_3(N)
% aydos.com/pi
 
Pi = 0;
for i=1:N
    k = (i*2)-1;
    if (mod(i,2)==0)
        Pi = Pi - (1/(k*k*k));
    else
        Pi = Pi + (1/(k*k*k));
    end;
end
Pi = (32*Pi).^(1/3);

Leonard Euler 4

Matlab algorithm for Leonard Euler's method 4

function Pi = pi_euler_4(N)
% aydos.com/pi
 
Pi = 0;
for i=1:N
    Pi = Pi + (1/(i.^4));
end
Pi = (90*Pi).^(1/4);

Leonard Euler 5

Matlab algorithm for Leonard Euler's method 5

function Pi = pi_euler_5(N)
% aydos.com/pi
 
Pi = 1;
for i=1:N
    k = i*i;
    if isprime(i)
        Pi = Pi * ( k / (k-1) );
    end
end
Pi = sqrt(6*Pi);

Others

Pi Links

Version History

2011 04 23 v1.0

  • First release
  • 8 pi calculation methods implemented