IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Calcul de l'écart-type


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de Emilie MARQUOIS-OGEZ
    Femme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 80
    Par défaut Calcul de l'écart-type
    Bonjour,

    J'aimerai calculer l'écart-type d'une liste de valeurs qui sont contenues dans un ArrayList. Voici mon code qui doit être encore complété. Pouvez-vous me dire si je suis sur la bonne voie ?

    Merci d'avance pour votre aide.

    Emilie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    // Calcul de la regularite d'envoi de messages 
    	public void calculRegularite() {
     
    double diff[]; //tableau contenant la difference des donnees avec la moyenne
    		double ecart_type; //ecart type
     
    		double moyenne = 0;
    		double ecartType = 0;
     
    		//calcul de la moyenne
    		for (int i = 0; i < getListNumbers.size(); i++) {	
    		}
     
    		for (int i=0; i < getListNumbers.size(); i++) {
    			moyenne += i / listNumbers.size();
    		}
    		moyenne /= listNumbers.size();
     
    		//calcul de l'écart type
    		for (int i = 0; i < getListNumbers.size(); i++)
    		{
    		  diff[i]=pow(this.getListNumbers(i) - moyenne, 2);
    		  ecartType += diff[i];
    		}
    		ecartType = sqrt(ecart_type / 100); 
    	}

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Par défaut
    Je ne vais pas te donner une réponse toute faite, je vais essayer de te mettre sur la voie pour que tu comprennes.
    Quelle est la différence entre getListNumbers et listNumbers? (je vais supposer que ce ne sont pas les mêmes listes).

    A quoi te sert cette ligne?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (int i = 0; i < getListNumbers.size(); i++) {	
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i=0; i < getListNumbers.size(); i++) {
    	moyenne += i / listNumbers.size();
    }
    moyenne /= listNumbers.size();
    Une moyenne non pondérée se calcule de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    M=(x1+x2+x3+...+xn)/n 
    avec n la taille de ta liste et x(1 à n) une valeur de cette liste.
    Or toi tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    M=[(0/n)+(1/n)+(2/n)+...+(m/n)]/n
    avec m la taille de getListNumbers et n la taille de listNumbers => 2 listes différentes.
    0 à m : ton indice de parcours.
    Tu confonds indice de parcours et la valeur se trouvant à cet indice. i != getListNumbers.get(i)

    D'après mes souvenirs, dans ton cas, l'écart type se calcule de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/n ]
    avec M la moyenne, n la taille de ta liste et x(1 à n) une valeur de cette liste.
    Je pense que tu voulais accéder à une valeur de getListNumbers. Dans ce cas, la syntaxe n'est pas bonne.
    Il suffit de faire : getListNumbers.get(i)


    Ton tableau diff est déclaré mais n'est défini nul part, il est vide.
    Il aurait fallu queque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double[] diff = new double[10]
    D'ailleurs, pourquoi tu utilises un tableau pour stocker la différence? une simple variable aurait suffi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ecartType = sqrt(ecart_type / 100);
    pourquoi /100? ce serait plutôt /getListNumbers.size().

    Avec ces quelques éléments, j'espère t'avoir aidé.

  3. #3
    Membre confirmé Avatar de Emilie MARQUOIS-OGEZ
    Femme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 80
    Par défaut
    Oui, ça m'aide beaucoup.
    Merci. Si besoin, je reviens avec le nouveau code.

Discussions similaires

  1. Calcul d'un écart type avec excel
    Par ANTMA dans le forum Excel
    Réponses: 7
    Dernier message: 27/05/2008, 17h21
  2. Calcul d'un écart-type sur une série de dates
    Par Emilie MARQUOIS-OGEZ dans le forum Excel
    Réponses: 6
    Dernier message: 30/10/2007, 14h56
  3. [Débutant] Calcul de l'écart-type (suite) (suite)
    Par Emilie MARQUOIS-OGEZ dans le forum Langage
    Réponses: 5
    Dernier message: 25/10/2007, 11h13
  4. [Débutant] Calcul de l'écart-type (suite)
    Par Emilie MARQUOIS-OGEZ dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2007, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo