[algo] c possible de claculer un écart type en une seule boucle ?

c possible de claculer un écart type en une seule boucle ? [algo] - Programmation

Marsh Posté le 29-11-2001 à 16:40:07    

c-a-d sans une boucle pour la moyenne et une boucle pour l'écart type lui même ?

Reply

Marsh Posté le 29-11-2001 à 16:40:07   

Reply

Marsh Posté le 29-11-2001 à 17:08:30    

sachant que la variance (le carré de l'écart type) est  
 
D[X] = M[(X-m)²]
 
cad la moyenne (M[...]) des carrés (²) des écarts à la moyenne (X-m)

Reply

Marsh Posté le 29-11-2001 à 17:52:51    

Développe somme(Xi-m)² et tu trouveras la solution...

Reply

Marsh Posté le 29-11-2001 à 18:00:57    

ben ça fait toujours deux boucles, nan ?
 
-> N.m + sum(Xi² - 2.Xi.m)
 
même avec m = sum(Xi)/N  
 
ça fait tjrs 2 boucles...

Reply

Marsh Posté le 29-11-2001 à 18:02:52    

ça doit pas exister, même dans numerical recipes, ils en parlent pas... :sweat:

Reply

Marsh Posté le 29-11-2001 à 18:15:45    

somme[(Xi-m)²]=somme[Xi²+m²-2*m*Xi]  (supposons n termes)
    =somme[Xi²] + n*m² - 2*m*somme[Xi]
    =somme[Xi²] + n*(somme(Xi)/n)² - 2*(somme(Xi))²/n
    =somme(Xi²) + 1/n*(somme(Xi))² - 2*(somme(Xi))²/n
    =somme(Xi²) - 1/n*(somme(Xi))²  
 
Ca doit quand même pouvoir se calculer en une boucle ainsi développé, même si on ne connait n qu'à la fin. Mais attention à la précision car chaque somme va être importante.
la méthode en 2 boucles sera plus précise

Reply

Marsh Posté le 29-11-2001 à 18:25:08    

pour la méthode : :love: merci beaucoup !
 
pour la précision des sommes : :??:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed