Académique Documents
Professionnel Documents
Culture Documents
Mathématiques
avec Python et
Ruby/Suites en
Python
< Mathématiques avec Python et Ruby
Une suite est une fonction de dans . Tout ce qui est dit dans le chapitre suivant peut
donc être appliqué aux suites. On va donc essentiellement parler de suites récurrentes ici.
Numériquement, les suites servent surtout à faire des calculs, selon la méthode suivante:
2. On estime que par exemple 1000 est suffisamment proche de pour que .
2. Le nombre pi par les différentes méthodes connues (suites qui convergent vers )
3. Les intégrales se calculent numériquement par des méthodes analogues;
5. Les nombres de Bernoulli sont aussi définis comme une suite, bien que pour une fois, ce
ne soit pas à sa limite qu'on s'intéresse.
6. Même le nombre d'Or peut s'obtenir comme limite d'une suite basée sur les nombres de
Fibonacci...
Suites récurrentes
Les suites récurrentes sont celles pour lesquelles dépend de . Mais pour la suite de
Fibonacci, la dépendance va plus loin, non seulement le dernier terme intervient, mais
également le pénultième.
Suite logistique
u=0.1
for n in range(20):
u=4*u*(1-u)
print(u)
En effet, une suite récurrente se représente, si n est le temps, par l'affectation d'une variable
avec l'image de son ancienne valeur par une fonction (ici, ). Si le premier
terme de la suite est une fraction, il en est de même pour tous les termes suivants :
u=Fraction(1,10)
for n in range(10):
u=4*u*(1-u)
print(u)
Par exemple, si on place 2000 € avec des intérêts simples s'élevant à 3 % de 2000, soit 60 €
par an, l'évolution du capital pendant 20 ans s'obtient avec ce script :
C=2000
I=2000*3/100
for n in range(1,20):
C+=I
print(C)
Une suite est géométrique si on passe de chaque terme au suivant en multipliant par un
même nombre appelé également raison. Par exemple, si on place 2000 € avec des intérêts
composés au taux de 2 %, l'évolution du capital année après année est donnée par ce script :
C=2000
for n in range(1,20):
C*=1.02
print(round(C,2))
Le module cmath permet aussi d'étudier les suites géométriques complexes. On constate
alors que si le module de la raison est plus petit que 1, la suite tend vers 0, et si le module de
la raison est supérieur à 1, la suite tend vers l'infini. C'est bien entendu lorsque le module est
égal à 1 qu'il se passe les choses les plus intéressantes...
Suite de Collatz
Algorithmiquement, la suite de Collatz est intéressante parce que son calcul est basé sur un
test de parité, et qu'elle utilise une boucle à condition de sortie :
u=65
while(u>1):
if u%2:
u=3*u+1
else:
u//=2
print(u)
La division par 2 est une division euclidienne, en effet on souhaite que u reste entier (et non
flottant) au cours de la boucle.
Suite de Fibonacci
Calcul de la suite
a=1
b=1
for n in range(20):
a,b=b,a+b
print(a)
Nombre d'Or
a=1
b=1
for n in range(20):
a,b=b,a+b
print(b/a)
print((1+5**0.5)/2)
tend vers 1, il est relativement aisé de le démontrer, et presque aussi facile de le vérifier avec
Python:
somme=0
for n in range(1,50):
somme+=1/(n*(n+1))
print(somme)
Un autre exemple
La suite
converge aussi, bien que ce ne soit pas évident en voyant son expression algébrique.
for n in range(1,20):
for k in range(1,n):
somme+=n/(n**2+k)
print(somme)
La constante d'Euler
On peut la calculer (et vérifier la lenteur de la convergence) avec
Méthode de Heron
En constatant que
1. Si alors aussi;
2. Si alors et vice-versa;
Application
u=1
while(abs(u**2-5)>1e-14):
u=(u+5/u)/2
print(u)
print(5**0.5)
Récupérée de
« https://fr.wikibooks.org/w/index.php?
title=Mathématiques_avec_Python_et_Ruby/Suite
s_en_Python&oldid=635206 »
Dernière modification il y a 3 ans par DannyS712
Wikilivres