first commit

This commit is contained in:
Souti
2025-03-06 11:09:58 +01:00
commit 11f7d440ff
330 changed files with 38306 additions and 0 deletions

57
tuya/test2.py Normal file
View File

@@ -0,0 +1,57 @@
import numpy as np
def get_dynamic_values():
# Simule la récupération des valeurs dynamiques.
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, rejected_values, threshold=10):
if len(values) == 0:
return [new_value], rejected_values
old_mean = np.mean(values) # Calcul de la moyenne actuelle
print(f"Ancienne moyenne: {old_mean}")
if new_value in rejected_values:
# Si la nouvelle valeur a été rejetée précédemment, l'accepter maintenant
values.append(new_value)
rejected_values.remove(new_value)
print(f"Valeur {new_value} acceptée après rejet initial")
else:
# 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) # Calcul de la nouvelle moyenne
print(f"Nouvelle moyenne avec la nouvelle valeur: {new_mean}")
# Vérifier si la nouvelle valeur change significativement la moyenne
difference = abs(new_mean - old_mean)
print(f"Différence entre les moyennes: {difference}")
if difference > threshold:
# Rejeter temporairement la nouvelle valeur
rejected_values.add(new_value)
values.pop() # Retirer la nouvelle valeur
print(f"Valeur {new_value} rejetée temporairement")
else:
print(f"Valeur {new_value} acceptée")
return values, rejected_values
# Tableau pour stocker les dernières valeurs
last_values = [10, 10, 10]
rejected_values = set()
# Nouvelles valeurs à recevoir
new_values = [30, 30]
for new_value in new_values:
print(f"Nouvelle valeur récupérée: {new_value}")
last_values, rejected_values = update_values(last_values, new_value, rejected_values)
print(f"Valeurs mises à jour: {last_values}\n")
# Afficher le tableau final
print(f"Tableau final des valeurs: {last_values}")