Ver Mensaje Individual
  #89 (permalink)  
Antiguo 02/01/2014, 09:40
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: Propuesta para desafíos javascript 2014

Al final he optado por utilizar serie de Taylor para aproximarme a pi. La típica sería usar la del arcotangente de 1:

pi = 1 - 1/3 + 1/5 -1/7 ...

Pero al final he optado por calcular la serie de Taylor de la integral de sqrt(1-x²) entre 0 y 1/2 que vale pi/12 + sqrt(3)/8 y converge un poco más rápido:

Código Javascript:
Ver original
  1. var n = 21;
  2.  
  3. var a = -1;
  4. var b = 2;
  5. var term = 1;
  6. var x = 0.5;
  7. var sum = 0;
  8. for( var i = 0; i < n; ++i ) {
  9.     sum += term*x/(b-1);
  10.     term *= a/b;
  11.     x /= 4;
  12.     a += 2;
  13.     b += 2;    
  14. }
  15.  
  16. var picalc = 12*sum - 1.5*Math.sqrt(3);
  17. console.log( picalc );
  18. console.log( Math.PI );
http://jsfiddle.net/BTSzq/

Edit: por cierto, me pareció muy bonita la relación entre pi y los números de Fibonacci. Aunque perdió un poco la magia cuando vi que daba pi básicamente porque 4*arctan(1) = pi. http://www.maths.surrey.ac.uk/hosted....html#piandfib

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 02/01/2014 a las 10:02