Variances et Ecart type en Shell

coco2205 -  
 coco2205 -
Bonjour à tous,

Je suis actuellement en train d'écrire un script mais je suis bloqué. Etant débutante, je ne connait pas parfaitement ce langage de programmation. Et j'aimerai savoir comment l'on peut faire pour calculer la variance et l'écart type d'une colonne de chiffre qui est placé dans fic.txt. C'est à dire, que mon script, lorque je le lance, je ferai appel à mon fic.txt en argument (sur la ligne de commande).

> ./var.sh fic.txt

Mon fichier fic.txt contient cela :
2
5
6
8

Lorque je lancerai cela, il me donnera en sortie :
> ./var.sh fic.txt
2 4.68 2.16
5 4.68 2.16
6 4.68 2.16
8 4.68 2.16

4.68 correspond à la vairance et 2..16 à l'écart type.

Mon soucis est ke je n'arrive pas a programmer ces étapes qui sont les suivantes :

1) somme des nombres de la colonnes et le mettre dans la variable A (ici 2+5+6+8 ce qui donne A=21)
2) somme des carrés des nombres de la colonne et le mettre dans la variable B (ici 4+25+36+64 ce qui donne B=129)
3) Diviser A et B par la taille de la colonne (c'est à dire 4 ici). Ce qui donnerai A=A/4 et B=B/4
4) B-A² (Résultat de la variance, la mettre dans une variable C)
5) Racine de C (Résultat de l'écart type)

En espérant que vous m'aidiez.

Cordialement
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. eZula Messages postés 3509 Statut Contributeur 392
     
    petits exemples :

    racine carrée : sqrt
    
    echo 2 | awk '{print sqrt($1)}'
    1.41421
    
    echo 4 | awk '{print sqrt($1),$1*$1,$1/(sqrt($1)+$1/2)}'
    2 16 1
    1
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Y'en a qui apprenne vite ;-))
      0
      1. coco2205 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        sqrt est la fonction racine carré ?
        0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Tournes-toi plutôt vers "awk" pour ce genre de calcul, le shell même s'il peut s'en sortir à grands coups de moulinettes n'est pas à proprement parlé l'idéal pour ce genre de calcul...
    0
    1. coco2205
       
      Okay et pour faire un racine carré ou pour mettre au carré ? Comment fait on ?
      0