¿Os habéis preguntado como calculan o computan ciertas operaciones los ordenadores o calculadoras que utilizamos a menudo?
Cuando estamos en el colegio, nos enseñan algoritmos para hacer determinadas operaciones como sumas, multiplicaciones o incluso raices por medio de una serie de operaciones mas o menos engorrosas, pero en un ordenador es distinto.
Nuestras máquinas aprovechan la rápidez con la que efectuan los cálculos para convertir algo «tan complicado como la raiz n de cierto numero» en decenas o miles de operaciones sencillas como sumas y multipicaciones.
Veamos un ejemplo muy sencillo utilizando el método de Newton con el que tan solo 3 iteraciones vamos a obtener una precision de 7 digitos decimales en la raiz cuadrada de 2.
En primer lugar, tenemos que convertir √2 en un polinomio:
x2 – 2 = 0
Vamos a necesitar también utilizar la derivada del polinomio, como sabéis
f ‘ (x) = 2x
Ahora vamos con la formula a utilizar:
xn+1 = xn – f(xn) / f'(xn)
Y solo nos queda empezar a calcular. Vamos a partir de un punto X0 = 1,5 (aunque podríamos haber dado otro) y sustituimos en la fórmula de arriba.
x1 = 1,5 – f(1,5) / f'(1,5) = 1,5 – (1,52 – 2) / 1,5 . 2 = 1,4166666
Esta es nuestra primera iteración, ahora utilizamos x1 en nuestra fórmula
x2 = 1,4166666 – (1,41666662 – 2) / 1,4166666 . 2 = 1,4142156
Una vez más, utilizamos la formula con el resultado anterior
x3 = 1,4142156 – (1,41421562 – 2) / 1,4142156 . 2 = 1,4142135
Y con estas 3 iteraciones, hemos conseguido una precisión bastante buena, pero os imaginais si hubiéramos hecho 1000 iteraciones cuanta precisión hubiéramos conseguido?
¿Alguien se atreve a publicar como se haría el resultado de la raiz cúbica de 5 por ejemplo?
No responses yet