-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapplication-logistique.py
64 lines (35 loc) · 1.62 KB
/
application-logistique.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import numpy as np
import matplotlib.pyplot as plt
import sys
## CALCUL DES TERMES DE DE L'APPLICATION LOGISTIQUE
## Constantes du système
mu = float(input("Taux de croissance (entre 0 et 4) : ")) # Taux de croissance
nbi = 30 # Nombre d'itérations
## Conditions initiales du système
N = np.arange(0, nbi, 1) # Création de la liste contenant le nombre d'itérations à effectuer
x0 = float(input("Valeur initiale de x (entre 0 et 1) : ")) # Valeur initiale de x
## Fonction qui retourne une liste ayant pour éléments les termes de la suite
def applicationLogistique(x0, N, mu):
# Vérification de la valeur du taux de croissance et de la valeur initiale de x
if (mu < 0 or mu > 4) or (x0 < 0 and x0 > 1):
print("Erreur : le taux de croissance doit être compris entre 0 et 4 et la valeur initiale de x doit être comprise entre 0 et 1.")
sys.exit()
# Création du tableau contenant les termes de la suite
X = np.zeros([len(N)])
# Initialisation de la suite
X[0] = x0
# Calcul des termes de la suite
for k in range(1, len(N)):
X[k] = mu*X[k-1]*(1-X[k-1])
return X
## Récupération des données
X = applicationLogistique(x0, N, mu) # Création de la liste contenant les termes de la liste
## Plot des données
plt.ylim(0,1)
plt.scatter(N, X, color = "rebeccapurple", s = 20, zorder = 3)
plt.plot(N, X, color = "rebeccapurple", alpha = 0.5)
plt.xlabel("n")
plt.ylabel("$x_n$")
plt.title("Application logistique , $\mu$ = " + str(mu))
plt.grid(alpha = 0.5)
plt.show()