HOWTO · MATLAB

Séquence de Fibonacci MATLAB

On peut générer les nombres de Fibonacci en utilisant la fonction fibonacci() dans MATLAB.

Sur cette page

Utilisez la fonction fibonacci() de MATLAB pour calculer un terme de Fibonacci ou lui fournir un vecteur d’indices. Pour obtenir un grand résultat exact, passez à fibonacci() un indice symbolique créé avec sym(). Ces fonctions nécessitent Symbolic Math Toolbox.

Calculer un terme de Fibonacci dans MATLAB

Dans la suite de Fibonacci, chaque terme à partir du troisième est la somme des deux termes précédents. Cet article adopte la convention F₁ = 1 et F₂ = 1 ; ainsi, Fₙ = Fₙ₋₁ + Fₙ₋₂ pour n ≥ 3. L’indice n désigne une position dans la suite, et non le nombre de termes à générer.

Pour calculer le dixième terme, saisissez fn = fibonacci(10). Avec cette convention, le résultat est 55. L’appel MATLAB est présenté dans le texte, car l’environnement d’exécution configuré ne permet pas d’exécuter MATLAB ; sa sortie n’a pas été vérifiée par une exécution indépendante.

Générer une suite de Fibonacci avec un vecteur

Passez un vecteur d’indices à fibonacci() pour obtenir les valeurs correspondantes en un seul appel. Pour les dix premiers termes, utilisez v = 1:10; fn = fibonacci(v). Cela produit le vecteur ligne [1 1 2 3 5 8 13 21 34 55]. Les éléments de v sont des positions dans la suite ; chaque élément du résultat correspond à l’indice situé à la même position.

L’expression MATLAB est présentée dans le texte plutôt que dans un bloc de code exécutable, car MATLAB ne fait pas partie des environnements d’exécution disponibles pour cet article. Les valeurs indiquées découlent de la récurrence et de la convention F₁ = F₂ = 1 présentées ci-dessus.

Représenter symboliquement les grands nombres de Fibonacci

Pour un grand indice, un résultat numérique peut s’afficher en notation scientifique, ce qui arrondit les chiffres affichés. Pour conserver l’entier exact, rendez l’indice symbolique avant d’appeler fibonacci() : fn = fibonacci(sym(300)). À titre de comparaison, fibonacci(300) renvoie une valeur numérique qui s’affiche approximativement sous la forme 2.2223e+62, tandis que l’appel symbolique représente exactement le 300e terme de Fibonacci : 222232244629420445529739893461909967206666939096499764990979600.

Le résultat symbolique est utile lorsque vous avez besoin de l’entier complet plutôt que d’une approximation en virgule flottante. Consultez la documentation MathWorks sur fibonacci pour en savoir plus sur la fonction. Les exemples MATLAB de cet article n’ont pas été exécutés dans l’environnement configuré.