47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import time
|
|
import numpy as np
|
|
|
|
def get_dynamic_values():
|
|
# Simule la récupération des valeurs dynamiques.
|
|
# Par exemple, elle pourrait lire des valeurs depuis un capteur ou une API.
|
|
# Pour cet exemple, nous allons générer une valeur aléatoire.
|
|
return np.random.normal(loc=50, scale=10) # Valeur aléatoire avec une moyenne de 50 et un écart-type de 10
|
|
|
|
def update_values(values, new_value, threshold=3):
|
|
if len(values) == 0:
|
|
return [new_value]
|
|
|
|
old_mean = np.mean(values)
|
|
|
|
# Ajouter la nouvelle valeur et retirer la première valeur (si nécessaire)
|
|
if len(values) >= 10: # par exemple, une fenêtre de 10 valeurs
|
|
values.pop(0)
|
|
|
|
values.append(new_value)
|
|
|
|
new_mean = np.mean(values)
|
|
|
|
# Vérifier si la nouvelle valeur change significativement la moyenne
|
|
if abs(new_mean - old_mean) > threshold:
|
|
return values # Accepter la nouvelle valeur
|
|
else:
|
|
values.pop() # Rejeter la nouvelle valeur
|
|
return values
|
|
|
|
# Tableau pour stocker les dernières valeurs
|
|
last_values = []
|
|
|
|
# Boucle principale
|
|
while True:
|
|
new_value = get_dynamic_values()
|
|
print(f"Nouvelle valeur récupérée: {new_value}")
|
|
|
|
# Mettre à jour les valeurs avec la nouvelle valeur
|
|
last_values = update_values(last_values, new_value)
|
|
|
|
print(f"Valeurs mises à jour: {last_values}")
|
|
|
|
# Attendre 5 secondes avant de récupérer la nouvelle valeur
|
|
time.sleep(1)
|
|
|