Traducir el blog

Cálculo iterativo de Fibonacci

Posted on diciembre 02, 2021 by Excel Pedro Wave

Trilogía para calcular la sucesión de Fibonacci

  1. Cálculo iterativo de Fibonacci
  2. Cómo calcular números Fibonacci con VBA
  3. Calculando números grandes Fibonacci. Artículo dividido en 2 fragmentos:
    1. Calculadora de números grandes Fibonacci
    2. Diseño de la calculadora Fibonacci

En la siguiente imagen aparecen los 17 primeros números de Fibonacci, calculados según la ecuación:

Definiendo: F(0) = 0 y F(1) = 1, se cumple que para n>1: F(n) = F(n-1) + F(n-2)


Imprecisión de los cálculos

La sucesión de Fibonacci es una serie infinita de números naturales.

¡Lástima que Excel no contemple números con precisión infinita!

Ni siquiera se salva el número π. Como mucho, se obtienen sus primeras 15 cifras decimales en una celda de Excel.

Al escribir en una celda la fórmula: =PI() produce: 3,14159265358979 con 15 dígitos significativos.

Este año 2021 se ha conseguido calcular el número π con 62.831.853.071.796 decimales, según esta publicación:

Pi-Challenge: World record attempt by UAS Grisons

Lo mismo ocurre con el número e calculado con la fórmula: =EXP(1) que produce: 2,71828182845905 siendo la última cifra redondeada incorrectamente: 2,71828182845904...

Todos los cálculos que hagamos en las celdas de Excel serán, como mucho, con números con un máximo de 15 cifras significativas.

De esta limitación no se salva la sucesión de Fibonacci, que no se puede calcular en las celdas de Excel para hijos mayores de 73.

F(73) = 806515533049393 se puede calcular por ser de 15 cifras significativas.

F(74) = 1304969544928657 no se puede calcular en una celda por ser de 16 cifras significativas.

En un próximo artículo explicaré cómo calcular números de Fibonacci hasta el elemento F(139) con 29 cifras significativas, usando el tipo de número Decimal del lenguaje VBA.

Si sabes cómo hacerlo con macros, ¡coméntalo, por favor!

De momento voy a hablar de cómo obtener números de Fibonacci con el cálculo iterativo de Excel.


Descarga Fibonacci con cálculo iterativo

El archivo sin macros y con fórmulas recalculadas iterativamente se puede descargar desde cualquiera de estos enlaces:

Abrir el archivo y habilitar la edición para analizar las fórmulas.


Desafío Fibonacci con cálculo iterativo

David Bueno Vallejo, Doctor Ingeniero en Informática y Profesor Titular en la Universidad de Málaga, escribió un comentario en este artículo de mi blog:

Test de Excel con cálculo iterativo (Comentario #2)

"Me encanta el calculo iterativo. Acabo de proponer un desafío que espero que los miembros de este blog puedan resolver"

Y enlazaba a un vídeo de su canal de YouTube:

¿Te gusta EXCEL y lo usas bien? Te invito a mi: Desafío Fibonacci

Le contesté en otro comentario:

Test de Excel con cálculo iterativo (Comentario #3)

"Hola David, me encantan los retos. Cuando publiques la solución al desafío Fibonacci te contaré la solución que acabo de diseñar para la serie de Fibonacci del 0 al 72. Como evidencia de mi propia solución te digo que la fórmula de la celda F9 es: =SI(E1>0;SI(E9="72";F6;F6+F11);1)

A partir de ahora te sigo en tu canal."

David ya dio su solución al desafío en el siguiente vídeo:

Calculo iterativo en Excel. Ejemplo de Fibonacci y otras funciones.


En el siguiente vídeo propuse mi solución al desafío:

Desafío Fibonacci Iterativo en Excel


Cálculo iterativo de Fibonacci

Si has descargado la plantilla de ejemplo, y has visto el vídeo, ya sabrás que, para ejecutar el cálculo iterativo, debes presionar la tecla F9, que calcula todo el libro, o las teclas Mayúsc + F9, que calculan la hoja activa. La presión de esas teclas realiza una iteración o, si se mantienen pulsadas, se itera continuadamente hasta soltar las teclas.

Ahora me toca a mí dar mi solución, ¡bueno no! ¡van a ser 3 soluciones!

1ª) Es la respuesta al desafío de David.

2ª) Es una solución más simple con la que calcular los números de Fibonacci.

3ª) Es la solución correcta y más elaborada, con control del recálculo iterativo y con control del rango máximo de la Sucesión de Fibonacci con 15 dígitos significativos.

Lo que no voy a hacer es explicar las soluciones dadas en la plantilla de ejemplo pues ya las he explicado suficientemente en el vídeo, por lo que únicamente voy a insistir en que esta solución sólo alcanza al número F(73) con 15 cifras significativas.


Datos sobre números Fibonacci

En los siguientes enlaces encontrarás más información sobre los números de Fibonacci:

Sucesión de Fibonacci - Wikipedia, la enciclopedia libre

fibonacci(n) - Wolfram|Alpha (wolframalpha.com)

Fibonacci Number -- from Wolfram MathWorld

The Online Encyclopedia of Integer Sequences - A000045 - OEIS

Fibonacci Sequence - A000045 - OEIS


Otros algoritmos de cálculo de Fibonacci

En las siguientes páginas encontrarás ejemplos de cálculo de números de Fibonacci con diferentes algoritmos:

VBA: Números de Fibonacci en Excel | EXCEL FORO: Un blog de Excel

PROGRAMAR EL ALGORITMO DE SUCESIÓN DE FIBONACCI CON VBA EN EXCEL - Excel Signum

PROGRAMAR EL ALGORITMO DE SUCESIÓN DE FIBONACCI CON PYTHON Y EXPORTAR A EXCEL - Excel Signum

PROGRAMAR EL ALGORITMO DE SUCESIÓN DE FIBONACCI CON TYPESCRIPT - Excel Signum

PROGRAMAR EL ALGORITMO DE SUCESIÓN DE FIBONACCI CON POWER QUERY - Excel Signum

Anímate a programar algoritmos siguiendo estos ejemplos y ganarás experiencia en todo tipo de cálculos.

Te espero en mi próximo artículo sobre el cálculo de la sucesión de Fibonacci en VBA, en el que calcularé hasta el elemento F(139) con 29 cifras significativas.

¡¡¡ Te reto a conseguirlo !!!


Corolario 

Por cierto, ¡gané el reto de David y me premió con un regalo!

David Bueno Vallejo en Twitter:

"Excelente respuesta al desafío empezando los cálculos de #Fibonacci desde 0. Gracias por aceptar el reto. Te envío mis dos cursos de @udemy_es gratis."    

He ganado estos dos excelentes cursos: 

Muchas gracias al profesor de la Universidad de Málaga y de la UNED:

David Bueno Vallejo | Doctor Ingeniero en Informática | Udemy

Estoy esperando con ansias tu próximo reto en Excel.

No Response to "Cálculo iterativo de Fibonacci"

Leave A Reply

Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.

Mi lista de blogs