Calculs Picaxiens (Moyennes)

BESQUEUT

Senior Member
Dans la même veine que la mise à l'échelle d'un readADC10,
je souhaite faire la moyenne de n valeurs (toujours en conservant un maximum de précision).
Voici l'état actuel de mes cogitations.
Code:
#simspeed 0

symbol I =w1
symbol Volt=w2
symbol Coef=w3
symbol Somme=w4
symbol Nombre=w5
symbol Moyenne=w6
symbol N=w7
symbol Temp=w8
symbol Fort=w9
symbol N2=w10

symbol AA=w11
symbol BB=w12
symbol CC=w13
symbol DD=w14
symbol EE=w15

main:
	somme=0
	nombre=0
	coef=1
	random n
	n=n/1000+30
	
	for I=1 to n
		random Volt
		Volt=Volt/16+11000
		gosub cumul
		sertxd ("V=",#Volt, 13)
	next I

	
	sertxd(13,"N=",#nombre," S=",#Fort,"*65536+",#somme,13)
	
	' 65536 n'existe pas, donc ont fait 2*32768. Attention : Nombre>1 sinon ça merde
	aa=32768/Nombre
	bb=aa*fort*2
	cc=32768//Nombre
	dd=cc*Fort*2/nombre
	' arrondi  exemple : 5//3=2 ==> ee=4/3=1 mais 4//3=1 ==> ee=2/3=0
	ee=somme//nombre*2/nombre
	moyenne=somme/nombre+bb+dd+ee
	sertxd (" A=",#aa," B=",#bb," C=",#cc," D=",#dd," E=",#ee,13)
	sertxd ("Moyenne=",#moyenne,13)
end



Cumul:
	temp=somme+Volt
	if temp<somme then
		inc fort
	endif
	somme=temp
	inc nombre
	return
Ca à l'air de marcher pas trop mal,
mais si quelqu'un trouve plus simple, je suis preneur.
En particulier si un Deus ex machina (Mark) connait une fonction magique (genre **) il est le bienvenu !
 

PieM

Senior Member
Dans le cadre du calcul lié au suréchantillonnage, je ne suis pas certain qu'il soit utile d'utiliser le calcul de la vraie moyenne. Une moyenne glissante est parfois utilisée.
Le principe du filtre passe bas devrait être suffisant.
Le calcul devient beaucoup plus simple : voir Ici
 

BESQUEUT

Senior Member
Dans le cadre du calcul lié au suréchantillonnage, je ne suis pas certain qu'il soit utile d'utiliser le calcul de la vraie moyenne. Une moyenne glissante est parfois utilisée.
Le principe du filtre passe bas devrait être suffisant.
Le calcul devient beaucoup plus simple : voir Ici
Tout à fait d'accord.
Ce calcul de moyenne est en fait pour une mesure de consommation.
 
Top