MATH_Variance [Statistiques]
Par Teddy Linet (Math4D v1)
Nouvelle recherche
Si (Faux)
` MATH_Variance [Teddy Linet 23/07/02] v1;0
` ---------------------------------------------
` Calcul de la variance : honteusement copiée et librement modifié de EcartType
` Intérêt ultérieur pour les calculs statistiques demandant la variance et non
` l' écart type (évite un "EcartType^2" dans un but d'optimisation des méthodes)
` ---------------------------------------------
` MATH_Variance (->Tableau) -> Numérique
` Tableau (Pointeur) Liste dont on cherche la variance
` Résultat (Numérique) Variance
` ---------------------------------------------
` MATHERROR
` 0 -> Pas d'erreur
` -1 -> Tableau nul
` 1 -> Tableau avec 1 élément
` ---------------------------------------------
`
Fin de si
C_ENTIER LONG(MATHERROR)
C_POINTEUR($1)
C_REEL($0)
C_REEL($x2;$x)
C_ENTIER LONG($i;$k)
$k:=Taille tableau($1->)
$x2:=0
$x:=0
Au cas ou
: ($k=0) ` Blurp ! tableau nul
MATHERROR:=-1
: ($k=1) ` Variance sur un élément => attention à la cohérence !
MATHERROR:=1
Sinon
MATHERROR:=0
Fin de cas
Si (MATHERROR=0)
Boucle ($i;1;$k)
$x2:=$x2+($1->{$i}^2) ` Somme(x2)
$x:=$x+$1->{$i} ` Somme(x)
Fin de boucle
` Variance = Somme(x^2)/n - (Somme(x)/n)^2
$0:=$k*$x2 ` nSomme(x2)
$0:=$0-($x^2) ` nSomme(x2) - (Somme(x))2
$0:=$0/($k^2) ` (nSomme(x2) - (Somme(x))2) / n2
Sinon ` Retourne 0 si pas calculable
$0:=0 ` NB la variance est nulle pour un tableau à 1 élément
Fin de si