# -*- coding: utf-8 -*- """ Created on Thu Apr 2 20:54:46 2020 @author: Aelurus """ def clearall(): all = [var for var in globals() if var[0] != "_"] for var in all: del globals()[var] clearall() import numpy as np import matplotlib.pyplot as plt # plage = 165 #nombre de données par nbpalier ecar1=0.03 ecar2=0.06 nbpalier = 9 #déclaration de la variable pour le nombre de nbpalier """ #Tentative de creation d'une boucle pour generer les valeurs par etage t=0 b = np.empty((nbpalier*plage,1)) for t in range(nbpalier): i=0 for i in range (plage): b[i+t*plage] = 0+(np.random.rand(1)*0.03) t=t+1 """ #Generation des valeurs par etage #Etage0 i=0 b = np.array(([0.0] * (plage*nbpalier))) for i in range (plage): b[i] = 0+(np.random.rand(1)*0.03) #Etage1 montant i=0 for i in range (plage): b[1*plage+i] = 1+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage2 montant i=0 for i in range (plage): b[2*plage+i] = 2+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage3 montant i=0 for i in range (plage): b[3*plage+i] = 3+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage4 montant i=0 for i in range (plage): b[4*plage+i] = 4+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage3 descant i=0 for i in range (plage): b[5*plage+i] = 3+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage2 descant i=0 for i in range (plage): b[6*plage+i] = 2+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage1 descant i=0 for i in range (plage): b[7*plage+i] = 1+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #Etage0 descant i=0 for i in range (plage): b[8*plage+i] = 0+(np.random.rand(1)*ecar1-np.random.rand(1)*ecar2) #fin generation #print (b) #Verification de la generation par representation graphique plt.subplot(221) plt.plot (b) ############################################################ #Recuperation des valeurs generer avec separation par etages count=0 palier = np.array([[0.0] * (plage) for _ in range(nbpalier)]) a = np.array([0.0]*plage*9) #variable qui recupere les valeurs i = 0 for i in range(plage*9): if i < ((plage*9)-1) and abs(b[i+1]-b[i])>0.1: a[i]=-2.0 else: a[i]=b[i] i=i+1 plt.subplot(222) plt.plot(a) ############################################################# ############################################################# #creation d'une variable multi (palier/valeurs) i=0 nb=0 for i in range(plage*9): if a[i]==-2.0 and i<(9*plage): count=count+1 nb=0 else: #print(count, nb, a[i]) palier[[count],[nb]]=a[i] nb=nb+1 i=i+1 ################################################################# ################################################################# #tentative de corretion de la derniere valeur de chaque palier qui prend la valeur 0. #La correction conciste à la remplacer par la n-1 z=0 i=0 p=0 for z in range(nbpalier): print(i) for p in range(plage): if palier[[z],[p]]==0.: #print('attention ',z,p,a[i]) palier[[z],[p]]=a[i-1] #print(palier[[z],[i]]) i=i+1 p=i+1 z=z+1 ###################################################################### # plt.subplot(212) plt.plot(palier[5]) plt.show() print(np.mean(palier[1])) print(np.mean(palier[4])) #print(palier[1]) """ print ("Le nombre d'éléments du tableau",np.size(a)) print ('La valeur min du tableau :',np.min(a)) print ('La valeur max du tableau :',np.max(a)) print ('La somme du tableau :',np.sum(a)) print ('La moyenne du tableau :',np.sum(a)/np.size(a)) print('La moyenne du tableau :',np.mean(a)) print ("L'écart-type de la matrice est : ",(np.nanstd(a))) """