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

Java Discussion :

problème avec loi uniforme discret


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    étudiant
    Inscrit en
    Septembre 2011
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 342
    Points : 124
    Points
    124
    Par défaut problème avec loi uniforme discret
    Bonjour,
    je doit tracer les courbes de loi uniforme discret avec les caractéristiques dans la pièce ci-joint.
    mais ce que j'ai eu toujours des valeurs à 1 pas ce que je veux pour tracer la densité et la fonction de répartition
    voici mon code:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    public class Test {
    	static double ValeurRamdom[]=new double[100000];                //tableau contient les valeurs generer par Math.random
    	static double ValeurRamdomAuCarré[]=new double[100000]; //tableau contient les valeurs au carrées generer par Math.random 
    	static double tab1[]=new double[100000]; //tableau contient le valeur de l'esperance pour chaque valuer de N
    	static double tab2[]=new double[100000];         //tableau contient le valeur de varaince pour chaque N
    	static double Ex;                                          
            static int a=0;
            static int b=1;
    	private static JFreeChart chart;
    	public static void Graphique() throws Exception {          
    		XYSeriesCollection dataset = new XYSeriesCollection();
    		XYSeries xyseries=new XYSeries("Courbe");
     
             for (int i=0;i<ValeurRamdom.length;i++){
     
                             if(tab1[i]<a)
                                 xyseries.add(i,tab1[i]= 0);
                            //2ème condition si x supérieur ou égal à a et inférieur
                              //à b
    			if((tab1[i]>=a)&&(tab2[i]<b))
                                 xyseries.add(i,((1+Math.abs(tab1[i]-a))/(b-a+1)));
     
                            //3ème condition si x supérieur ou égal à b
    			if(tab1[i]>=b)
                                xyseries.add(i,tab1[i]= 1);
     
             }
    		dataset.addSeries(xyseries);
    		chart = ChartFactory.createXYLineChart( "Esperance en fonction de N",  
    				"",  
    				"",  
    				dataset,  
    				PlotOrientation.VERTICAL,  
    				true,  
    				false,  
    				false );
    		final XYPlot plot = chart.getXYPlot();
    		NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
    		numberAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    		chart.setBackgroundPaint(Color.white);
    		ChartFrame frame1=new ChartFrame("Courbe1", chart);
    		frame1.setVisible(true);
    		frame1.setSize(700, 700);
    	}
     
           public static void Graphique2() throws Exception {          //Le tracage de l'esperance en fonction de N
     
    		XYSeriesCollection dataset = new XYSeriesCollection();
    		XYSeries xyseries=new XYSeries("Courbe");
     
             for (int i=0;i<ValeurRamdom.length;i++){
     
                 if((tab1[i]>=0)&&(tab1[i]<=1)){
                            xyseries.add(i,1/((b-a)+1));
                        }
     
             }
    		dataset.addSeries(xyseries);
    		.....
    }
     
     
    	public static void main(String[] args) throws Exception {
    		......
     
    		Graphique();
     
     
    	}
     
    }
    merci pour l'aide
    Images attachées Images attachées  

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    merci pour l'aide
    Tu devrais la lire, l'aide, parce que là on peut pas t'aider.

  3. #3
    Membre régulier
    Homme Profil pro
    étudiant
    Inscrit en
    Septembre 2011
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 342
    Points : 124
    Points
    124
    Par défaut
    merci JoeChip mais je suis sûre qu'il y ' un problème dans le code mais je ne sais pas où il est

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    a vallant 0 et b vallant 1, et ne changeant nulle part de valeur, lors de l'exécution de la méthode graphique(),

    tab1[i]<a est toujours faux (tab[i] vallant 0, 0 < 0 est faux)
    tab1[i]>=b est toujours faux de même (0 >= 1)
    (et comme le seul code susceptible de modifier tab1[i] est soumis à ces conditions)

    mais ((tab1[i]>=a)&&(tab2[i]<b)) est bien vraie (0>=0 et 0 < 1)

    donc le code
    xyseries.add(i,((1+Math.abs(tab1[i]-a))/(b-a+1)));

    est bien exécuté

    or ((1+Math.abs(tab1[i]-a))/(b-a+1)), vaut

    (1 + abs( 0 - 1 ) ) / ( 1 - 0 + 1 )

    soit 2 / 2, soit 1, donc effectivement ta série ne contient au final que la valeur 1 !

Discussions similaires

  1. Problème avec filtre moyenneur "flou uniforme" d’une image
    Par SmileSoft dans le forum C++Builder
    Réponses: 15
    Dernier message: 23/04/2008, 18h29
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 12h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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