Variable Aléatoire

Résolu
jschutz Messages postés 2 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 3 janvier 2007 - 3 janv. 2007 à 08:35
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 3 janv. 2007 à 12:36
Bonjour,

Je souhaiterais générer une liste de variables aléatoires (V.A.) comprises entre ]0, 1[. Cependant, lors de la génération, les huit premières V.A. ont une même valeur, les huit V.A. suivantes ont une même valeur (mais différentes des huit premières)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>






 






Voici mon code :







   
public
class Divers


{








       
// Génération d'une variable aléatoire









       
public
static
double Valea()








     

{








           
double dValea = 0;








           
Thread.Sleep(1);








           
Random autoRand = newRandom();








            dValea = autoRand.NextDouble();








           
while ((dValea 0) || (dValea 1))








            {








                dValea = autoRand.NextDouble();








            }








           
return dValea;








    

}








    }







 







   
public
class
Simulation









    {








       
public
static
void GenValea(int Nb)








        {








           
for(int i=1;i<=Nb;i++)








           

{








               
double dValea = Divers.Valea();          








               
Console.WriteLine("> "+dValea);








            }








        }








    }








 







Pour le code, je me suis basé sur l’exemple de microsoft (ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.fr/cpref2/html/T_System_Random.htm) mais ce dernier ne fonctionne pas chez moi (problème cité ci-dessus).







La seule solution que j’ai trouvée consiste à remplacer ‘Thread.Sleep(1);’ par ‘Thread.Sleep(15);’. Cependant, le temps d’éxécution augmente..
Comment pourrais-je procéder pour générer mes V.A. sans devoir imposer une pause de 15 millisec. entre chaque V.A. générée ? Est-ce un problème de configuration ?






 







D’avance merci.







Jérémie








 

2 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 janv. 2007 à 09:04
Salut,

Sors l'instanciation du Random de la méthode Valea(), et ce sera bon.
Tu peux meme enlever ton Thread.Sleep();

Mx
MVP C# 
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
3 janv. 2007 à 12:36
Oui, et il faudrait instancier la class en dehors de la méthode, sinon, si elle est appellé en boucle, on peut recevoir une séquence qui n'est pas si aléatoire que ça...

-Blog-
0
Rejoignez-nous