Vous êtes sur la page 1sur 7

ESCUELA POLITÉCNICA NACIONAL

SOFTWARE DE SIMULACIÓN

NUMERO PI

Integrantes:
Alexandra Angamarca
Pablo Rivadeneira
Grupo: Gr #3
Fecha: 27/04/2018
2018-A
PROBLEMA:

MÁXIMO NUMERO DE PI CON DIFERENTES MÉTODOS

INTRODUCCIÓN

Letra griega pi. Símbolo adoptado inicialmente en 1706 por William Jones y popularizado
por Euler.

La primera referencia que se conoce de Pi es aproximadamente del año 1650 adC en el


Papiro de Ahmes, es un documento escrito en un papiro de unos seis metros de longitud y
33 cm de anchura. El valor que se da de Pi es 28/34 ~ 3,1605.

Una de las primeras aproximaciones fue la de Arquímedes en el año 250 adC que calculo
que dio el valor 211875/67441 ~ 3,14163.

Leonhard Euler adoptó el conocido símbolo π en 1737 e instantáneamente se convirtió en


una notación estándar hasta hoy en día.

Ya en la época de las computadoras, uno de los modos de comprobar la eficacia de las


maquinas era usarla para calcular decimales de Pi, en 1949 una computadora ENIAC calculó
2037 decimales en 70 horas, en 1966 un IBM 7030 llego a 250.000 cifras decimales en 8 h
y 23 min. y ya en el siglo XXI, en el año 2004 un superordenador Hitachi estuvo trabajando
500 horas para calcular 1,3511 billones de lugares decimales.

MÉTODO DEL POLÍGONO CON FORMULA

Teoría

El número pi es la constante que relaciona el perímetro de una circunferencia con la


amplitud de su diámetro: Π = L/D.

Este no es un número exacto sino que es de los llamados irracionales , ya que tiene infinitas
cifras decimales.

Se calcula el perímetro de un polígono de muchos lados que está dentro de un círculo de


diámetro conocido, cuantos más lados tenga el polígono, más se parecerá a la circunferencia,
y su perímetro se acercara más a la longitud de la circunferencia. ya en la antigüedad se
insinuaba que todos los círculos conservaban una estrecha dependencia entre el contorno
y su radio. Arquímedes fue uno de los primeros en aproximarse al valor del número pi.

MÉTODO NUMERO DOS

1. Obtenga el mayor número de decimales de pi como sea posible en el programa


1.1. Método 1: Calculo del numero pi con el método de Ramanujan.
1.1.1. Historia
Pese a no disponer de formación académica, la intuición aritmética de
Ramanujan le permitía observar cancelaciones ocultas, patrones y
simetrías en series numéricas, construir fórmulas, identidades y
cálculos. Su visión algebraica y combinatoria y sus habilidades de
manipulación de series, algoritmos, fracciones continuas estaban por
encima de la mayoría de los matemáticos. El matemático solía afirmar
que era la diosa protectora de su familia, Namagiri, quien le mostraba
en sueños las ecuaciones de sus fórmulas. [1]

MÉTODO TRES

1.2. Método 2: Calculo del numero pi con el método de los hermanos Chudnovski
1.2.1. Historia
Los Hermanos Chudnovsky son matemáticos conocidos por habilidad
matemática y de construcción de supercomputadores caseros, ambos
trabajan juntos en los proyectos. En el año 1992 un artículo en el New
Yorker mencionaba que según la opinión de muchos matemáticos
que Gregory Chudnovsky es uno de los mejores matemáticos vivos del
mundo. Su hermano David Chudnovsky trabaja colaborando con él y le
asiste en su enfermedad de Myasthenia Gravis. El algoritmo implementa
una serie de convergencia rápida siguiendo una serie hipergeométrica,
empleada en el cálculo de alta precisión de los dígitos de pi. Se
fundamenta en una fórmula de Ramanujan y parece ser la empleada en
los cálculos de pi de comienzos del siglo XXI. [2]

Programa

%%Calculo del numero pi


clc, clear all
%el presente programa calcula los decimales exactos de pi
%a travez de distintos metodos
format long
%%algoritmo
selector=5;%inicializacion de un contador para un menu interactivo
while selector~=4 && selector<=5
%menu de opciones para seleccionar el metodo usado
disp('1. Metodo de poligonos')
disp('2. Metodo de Ramanujan')
disp('3. Metodo de Chudnovsky')
disp('4. Salir')
%lectura del metodo que el usuario selecciona
selector=input('Ingrese el metodo que desea usar: ');
%validacion del selector
if selector>4
disp('Error!!, el menu ingresado no es correcto')
end
if selector<4
switch selector
case 1
% Variables del circulo inscrito
radio_=0.5;
poligono_=1000000000;

% Obtención de una aproximacion a PI, poniendo el


numero de lados del poligono
for i=1:poligono_
angulo_central=(360/poligono_);
angulo_mitad=angulo_central/2;
lado=2*radio_*sind(angulo_mitad);
perimetro=poligono_*lado;
valor_pi=perimetro/(2*radio_);
error=abs(pi-valor_pi);
if error <= 0.00000000000000001
break
end
end

% Mostrar los resultados


disp('El valor de pi es: ');vpa(valor_pi)
disp('El valor del error es : '); vpa(error)
disp('La iteracion final es : '); vpa(i)
case 2
%constantes
a=sqrt(8)/9801;
b=26390;
c=1103;
d=396;
%algoritmo
sumatorio=0;
j=1;
%bucle que crea un sumatorio
%matlab no soporta mas de 40 bucles con esta formula
for i=0:1:40
%formula deducida por Ramanujan

sumatorio=sumatorio+((factorial(4*i))/((factorial(i))^4))*...
(((b*i)+c)/(d^(4*i)));
end
%inverso del sumatorio
pi_1=1/(a*sumatorio);
%para mostrar los decimales de pi se utiliza la
funcion vpa
digits(320)
pi_calculado=vpa(pi_1);
disp('El valor de pi calculado con el metodo de
Ramanujan es: ')
pi_calculado
case 3
%constantes
a=426880*sqrt(10005);
b=545140134;
c=13591409;
d=640320;
%algoritmo
sumatorio=0;
j=1;
%bucle for para un sumatorio
%para esta formula matlab no soporta mas de 25
repeticiones
for i=0:1:25

sumatorio=sumatorio+((factorial(6*i)*(c+(b*i)))/...
(factorial(3*i)*((factorial(i))^3)*((-
c)^(3*i))));
end
%inverso del sumatorio
pi_1=(a/sumatorio);
%Uso de la funcion vpa para mostrar los dijitos de pi
digits(350)
pi_calculado=vpa(pi_1);
disp('El valor de pi calculado con el metodo de
Chudnovsky es: ')
pi_calculado
end
end
end

Resultados

Cabe destacar que para mostrar los decimales de pi se utilizó la función vpa. vpa (x) usa
aritmética de coma flotante de precisión variable (VPA) para evaluar cada elemento de la
entrada simbólica x por lo menos para d dígitos significativos, donde d es el valor de la
función de dígitos. El valor predeterminado de los dígitos es 32.

Se obtuvo el número pi con el valor de 3.141592653589793238….. matlab no puede


compilar más de los 15 números decimales. El programa corrió correctamente se aplicó
las operaciones matemáticas básicas.

Método Ramanujan: Según la historia del número pi calculado por este método puede
llegar a obtener 8 decimales exactos por cada interacción del sumatorio, el programa
realizado únicamente puede realizar un máximo de 40 interacciones, a partir de este se
convierte en algo incalculable para el programa, esto quiere decir que se puede calcular
exactamente 320 decimales, lo cual para su apreciación se utiliza el operador vpa, el
programa tiene una duración aproximada de 0.069338 segundos. A continuación, se
presentará los decimales que obtuvo el programa:

3.141592653589793238462643383279502884197169399375105820974944592307816
4062862089986280348253421170679821480865132823066470938446095505822317
2535940812848111745028410270193852110555964462294895493038196442881097
5665933446128475648233786783165271201909145648566923460348610454326648
2133936072602491412737245870066063155882

Y los decimales reales

3.141592653589793238462643383279502884197169399375105820974944592307816
4062862089986280348253421170679821480865132823066470938446095505822317
2535940812848111745028410270193852110555964462294895493038196442881097
5665933446128475648233786783165271201909145648566923460348610454326648
21339360726024914127372458700660631558817
Como se puede observar los decimales calculados por el programa son exactos,
exceptuando por el final ya que hace un redondeo, a partir de esto los decimales deberían
ser incorrectos, ya que el programa no puede realizar mas bucles for con esta fórmula.

Método Chudnovski: Según algoritmos calculados en otros ordenadores el cálculo de pi


con este método puede llegar a originar 14 decimales exactos por cada repetición, el
programa generado solo puede llegar a soportar 25 repeticiones, con lo cual utilizando el
operador vpa se puede observar los 350 dígitos calculados, con una duración aproximada
de 0.060831 segundos, y resulta ser mas eficiente que el método anterior. Los decimales
calculados por el programa se presentan a continuación:

3.141592653589793238462643383279502884197169399375105820974944592307816
4062862089986280348253421170679821480865132823066470938446095505822317
2535940812848111745028410270193852110555964462294895493038196442881097
5665933446128475648233786783165271201909145648566923460348610454326648
2133936072602491412737245870066063155881748815209209628292540917153644

Y sus decimales reales:

3.141592653589793238462643383279502884197169399375105820974944592307816
4062862089986280348253421170679821480865132823066470938446095505822317
2535940812848111745028410270193852110555964462294895493038196442881097
5665933446128475648233786783165271201909145648566923460348610454326648
2133936072602491412737245870066063155881748815209209628292540917153643
6

Que como se puede observar igualmente son exactos exceptuando otra vez por el ultimo
decimal que esta redondeado. Este método resulta ser mas efectivo, ya que a pesar de no
soportar mas de 25 bucles for puede llegar a dar más decimales exactos del número pi,
además de que su duración en el programa es mas pequeña.

Referencias

[1] B. Guillén, «OpenMind,» 22 Diciembre 2016. [En línea]. Available:


https://www.bbvaopenmind.com/ramanujan-el-hombre-que-vio-en-suenos-el-
numero-pi/. [Último acceso: 27 Abril 2018].

[2] Rotlink, «Wikipedia,» 22 Agosto 2014. [En línea]. Available:


https://es.wikipedia.org/w/index.php?title=Hermanos_Chudnovsky&action=history.
[Último acceso: 04 Abril 2018].

Vous aimerez peut-être aussi