Pour générer un nombre aléatoire dans un intervalle donné en Fortran on utilise la fonction intrinsèque RAND. Cette fonction retourne un nombre aléatoire dans l'intervalle $[0,1]$ et peut ensuite être utilisée pour générer un nombre aléatoire dans un intervalle quelconque $[x,y]$ (voir) en utilisant la formule suivante: $rand(0)*(y-x) + x$. Exemple de code Fortran pour Générer un nombre aléatoire (Compilation: fortran FortranRandomNumber.f90 -o FortranRandomNumber)
program FortranRandomNumber
implicit none
integer :: i,j
integer :: nb_data, n
real :: p
p = 0.0
n = 0
nb_data = 50
do i = 1, nb_data
! Generer un nombre reel aleatoire entre 0 et 100
!write(6,*) rand(0)*100
! Generer un nombre entier aleatoire entre 0 et 100
write(6,*) int(rand(0)*100)
! Generer un nombre entier aleatoire entre 5 et 100
!write(6,*) int(rand(0)*(100-5)) + 5
end do
end program FortranRandomNumber
donne par exemple
0
13
75
45
53
21
4
67
67
93
38
51
83
.
.
.
Recherches associées
Liens | Site |
---|---|
Scaling random numbers in Fortran | infohost nmt edu |
RAND — Real pseudo-random number | gcc gnu |