générer un nombre aléatoire en fortran
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

générer un nombre aléatoire en fortran



  1. #1
    bbdoll

    Question générer un nombre aléatoire en fortran


    ------

    Bonjour,
    J'ai codé en fortran une matrice et je voudrais sur sa diagonale des coefficients dont les valeurs sont aléatoires.
    J'ai utilisé la fonction random_number(), mais elle ne prend en parametre que des reels, quand j'utilise une matrice d'entiers du coup ca ne marche plus.
    En C, et c++ c'est plus facile a gérer il suffit de faire un cast mais en fortran normalement il les fait tout seul là il me met quand memeun message d'erreur :

    Error: 'harvest' argument of 'random_number' intrinsic at (1) must be REAL


    J'appelle la fonction de cette façon là : CALL RANDOM_NUMBER(AA(I,1))

    Est-ce qu'il y aurait une solution de contournement?

    Cordialement.

    -----
    "Ne craignez pas d' être lent, craignez seulement d' être à l' arrêt"

  2. #2
    Zartan

    Re : générer un nombre aléatoire en fortran

    Bonjour, vous lui donnez une matrice réelle en paramètre puis vous transférez celle-ci dans une matrice d'entiers.

  3. #3
    bbdoll

    Re : générer un nombre aléatoire en fortran

    Non en fait c'est pas possible je declare le type de ma matrice dans une macro (precompilateur)
    je ne definis pas le type à l'interieur du programme.
    "Ne craignez pas d' être lent, craignez seulement d' être à l' arrêt"

  4. #4
    Zartan

    Re : générer un nombre aléatoire en fortran

    RANDOM_NUMBER vous renvoie un nombre à virgule flottante compris entre 0 et 1.

    Vous déclarez un réel et ensuite vous appelez votre routine et transférez dans la matrice :
    Code:
    REAL ::intermediaire
    INTEGER :: valeurmax,valeurmin
    	  
        valeurmax = 100
        valeurmin = 10
    
        CALL RANDOM_NUMBER(intermediaire)
        AA(1,1) = INT(intermediaire*(valeurmax-valeurmin) +valeurmin)
    avec valeurmax et valeurmin les deux bornes que vous voulez.

    Sinon vous pouvez utiliser d'autres générateurs de nombres aléatoires, certains fonctionnent avec des entiers.

  5. A voir en vidéo sur Futura
  6. #5
    bbdoll

    Re : générer un nombre aléatoire en fortran

    Bonjour,

    effectivement ca marche.
    merci beaucoup.
    "Ne craignez pas d' être lent, craignez seulement d' être à l' arrêt"

Discussions similaires

  1. [SCILAB] Générer un nombre aléatoire
    Par nikob88 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 31/05/2012, 11h05
  2. Problème programmation uC atmega 16 (générer variable aléatoire en C)
    Par invitea30305c9 dans le forum Électronique
    Réponses: 0
    Dernier message: 14/04/2012, 15h54
  3. comment générer une tension aléatoire?
    Par invite3dff7c63 dans le forum Électronique
    Réponses: 6
    Dernier message: 26/03/2008, 12h46
  4. Générer un entier aléatoire en C++
    Par invite234d9cdb dans le forum Logiciel - Software - Open Source
    Réponses: 23
    Dernier message: 16/10/2006, 19h57
  5. nombre Aléatoire
    Par invite13666a33 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 23/08/2006, 15h47