maj puissance.py + del moy.py
This commit is contained in:
parent
0d8b6fa9cd
commit
cfe815ef6e
|
@ -1,84 +0,0 @@
|
||||||
import math
|
|
||||||
import numpy as np
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
import struct
|
|
||||||
|
|
||||||
#"C:\Users\quent\OneDrive\Bureau\ENSC\TransD\Framboisier\02400001.TXT"
|
|
||||||
#! /usr/bin/env python3
|
|
||||||
# -*- coding: UTF-8 -*-
|
|
||||||
def split(x,n):
|
|
||||||
"A fonction that allows you to split an x array to n sub-arrays "
|
|
||||||
m = int(len(x)/n)
|
|
||||||
res = []
|
|
||||||
for i in range(n-1):
|
|
||||||
res.append(x[i*m:(i+1)*m])
|
|
||||||
res.append(x[(n-1)*m:])
|
|
||||||
return res
|
|
||||||
|
|
||||||
test = []
|
|
||||||
for i in range(1,136): #choix desfichiers ouvert (utilisation d'un chemin relatif)
|
|
||||||
print(i)
|
|
||||||
if i < 10: #suivant si le fichier fini par un nombre inférieur ou supérieur à 10 on complète notre lien soit par "0"+i soit par i
|
|
||||||
complement_link = "00" + str(i)
|
|
||||||
elif i < 100:
|
|
||||||
complement_link = "0" + str(i)
|
|
||||||
else:
|
|
||||||
complement_link = str(i)
|
|
||||||
|
|
||||||
link = "02400" + complement_link +".TXT"
|
|
||||||
|
|
||||||
AllRes = [[],[],[],[],[],[],[],[]]
|
|
||||||
f = open(link , "rb")#ouvertuture du fichier txt traiter
|
|
||||||
|
|
||||||
while True:
|
|
||||||
# Lecture 26 octets dans le fichier
|
|
||||||
record = f.read(26)
|
|
||||||
if len(record) != 26:
|
|
||||||
break;
|
|
||||||
#compteur += 1
|
|
||||||
# Test si on est sur la ligne de #####...
|
|
||||||
if record[:18] == b'#################\n':
|
|
||||||
# Lit le complement et reconstitue l'enregistrement
|
|
||||||
complement = f.read(18)
|
|
||||||
record = record[18:] + complement
|
|
||||||
|
|
||||||
# Ajoute un octet null tous les 3 octets a partir du 2ème caractère jusqu'à l'avant dernier
|
|
||||||
record_4x8_octets = bytearray()
|
|
||||||
i=1;
|
|
||||||
while i<25:
|
|
||||||
record_4x8_octets.append(record[i])
|
|
||||||
if i % 3 == 0:
|
|
||||||
record_4x8_octets.append(0) # Tous les 3 octets, on en ajoute un null
|
|
||||||
i += 1
|
|
||||||
|
|
||||||
# Converti l'enregistrement (tableau de bytes) en 8 entiers signés
|
|
||||||
resultat_fois256 = struct.unpack('>iiiiiiii', record_4x8_octets)
|
|
||||||
|
|
||||||
# Divise les résultats par 256 pour recadrer les 3 octets à gauche en conservant le signe
|
|
||||||
resultat = []
|
|
||||||
for i in range(len(resultat_fois256)):
|
|
||||||
res = resultat_fois256[i] // 256 * 20
|
|
||||||
AllRes[i].append(res)
|
|
||||||
|
|
||||||
#a la fin de chaque fichier de mesure en trouve une série de 19 zéros écrit par le capteur
|
|
||||||
for i in range(19): #cette boucle permet de retirer les 19 zéros du signal
|
|
||||||
for j in range(8):
|
|
||||||
AllRes[j].pop()
|
|
||||||
|
|
||||||
x = np.array(AllRes[0][:])
|
|
||||||
y = split(x,4)
|
|
||||||
moyenne = np.zeros(len(y))
|
|
||||||
|
|
||||||
for i in range(len(y)):
|
|
||||||
for j in range(len(y[i])):
|
|
||||||
moyenne[i] += y[i][j]
|
|
||||||
moyenne[i] /= len(y[i])
|
|
||||||
|
|
||||||
for i in range(len(moyenne)):
|
|
||||||
test.append(moyenne[i])
|
|
||||||
f.close() #fermeturedu fichier txt
|
|
||||||
|
|
||||||
t = np.linspace(0,len(test),len(test))
|
|
||||||
plt.plot(t,test)
|
|
||||||
plt.show()
|
|
15
puissance.py
15
puissance.py
|
@ -1,25 +1,24 @@
|
||||||
import math
|
import math
|
||||||
from os import link
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
# import matplotlib.pyplot as plt
|
||||||
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
#"C:\Users\quent\OneDrive\Bureau\ENSC\TransD\Framboisier\02400001.TXT"
|
#"C:\Users\quent\OneDrive\Bureau\ENSC\TransD\Framboisier\02400001.TXT"
|
||||||
#! /usr/bin/env python3
|
#! /usr/bin/env python3
|
||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
link = ""
|
link = "test.txt"
|
||||||
|
|
||||||
f = open(link , "rb")#ouvertuture du fichier txt traiter
|
f = open(link , "rb")#ouvertuture du fichier txt traiter
|
||||||
taille = 100
|
taille = 5
|
||||||
freq = 250000
|
freq = 250000
|
||||||
periode = 1 / freq
|
periode = 1 / freq
|
||||||
temps = periode * taille
|
temps = periode * taille
|
||||||
resultat = np.zeros(taille)
|
resultat = np.zeros(taille)
|
||||||
for i in range(taille):
|
for i in range(taille):
|
||||||
resultat[i] = (f.readline())^2 #on sait que chaque ligne corespond à une mesure
|
resultat[i] = f.readline() #on sait que chaque ligne corespond à une mesure
|
||||||
somme = 0
|
resultat*=resultat
|
||||||
|
res = 0
|
||||||
for i in range(taille-1):
|
for i in range(taille-1):
|
||||||
somme = (resultat[i] + resultat[i+1]) / 2
|
res += (resultat[i]+resultat[i+1]) / 2 * periode
|
||||||
res = somme / temps
|
|
||||||
print(res)
|
print(res)
|
Loading…
Reference in a new issue