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

Fortran Discussion :

générer des nombres aléatoires qui suivent une loi normale dans ]0,1[


Sujet :

Fortran

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut générer des nombres aléatoires qui suivent une loi normale dans ]0,1[
    Bonsoir, je ne suis pas du tout un spécialiste de l'informatique, j'essaie de générer des nombres aléatoires dans ]0,1[ en utilisant la méthode de Box-Muller mais j'ai un problème pour l'implémentation. Voici mon code:

    program gaussienne
    implicit none
    real :: pi

    pi = 2*asin (1.0000)

    real,dimension( : ),allocatable :: tableau
    integer, dimension(8) :: graine
    real, dimension(50) ::tab1

    call date_and_time (values=graine)
    call random_seed(put=graine(8:1:-1))
    call random_number(tab1)

    real,dimension( : ), allocatable :: tableau
    integer, dimension(8) :: graine
    real, dimension(50) :: tab2

    call date_and_time (values=graine)
    call random_seed(put=graine(8:1:-1))
    call random_number(tab2)

    tab1 = sqrt((-2)*log(tab1))*cos(2*pi*tab2)


    print *,tab1


    end program


    Le problème est qu'à la compilation, ça affiche des tas d'erreurs... Ce que j'essaie de faire , c'est juste de déclarer deux tableaux de nombres aléatoires uniformément distribués dans ]0,1[ et d'appliquer la méthode de Box-Muller pour générer un tableau de nombres aléatoires qui suivent une loi normale N(0,1). Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 152
    Points : 191
    Points
    191
    Par défaut
    Essayes ainsi:

    Citation Envoyé par niceowen Voir le message
    Bonsoir, je ne suis pas du tout un spécialiste de l'informatique, j'essaie de générer des nombres aléatoires dans ]0,1[ en utilisant la méthode de Box-Muller mais j'ai un problème pour l'implémentation. Voici mon code:

    program gaussienne
    implicit none
    real :: pi
    real,dimension( : ),allocatable :: tableau
    integer, dimension(8) :: graine
    real, dimension(50) ::tab1,tab2

    pi = 2*asin (1.0000)

    call date_and_time (values=graine)
    call random_seed(put=graine(8:1:-1))
    call random_number(tab1)

    call date_and_time (values=graine)
    call random_seed(put=graine(8:1:-1))
    call random_number(tab2)

    tab1 = sqrt((-2)*log(tab1))*cos(2*pi*tab2)


    print *,tab1


    end program

Discussions similaires

  1. [Débutant] générer des nombres aléatoires avec randn() dans une boucle
    Par Anna76 dans le forum MATLAB
    Réponses: 2
    Dernier message: 28/07/2014, 13h55
  2. Réponses: 8
    Dernier message: 20/02/2012, 09h45
  3. Réponses: 4
    Dernier message: 03/06/2011, 08h20
  4. Algo pour générer des nombres aléatoires
    Par Admin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 12/06/2006, 09h06
  5. Réponses: 2
    Dernier message: 16/05/2006, 17h02

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