tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
24
Task/Random-numbers/Fortran/random-numbers.f
Normal file
24
Task/Random-numbers/Fortran/random-numbers.f
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
PROGRAM Random
|
||||
|
||||
INTEGER, PARAMETER :: n = 1000
|
||||
INTEGER :: i
|
||||
REAL :: array(n), pi, temp, mean = 1.0, sd = 0.5
|
||||
|
||||
pi = 4.0*ATAN(1.0)
|
||||
CALL RANDOM_NUMBER(array) ! Uniform distribution
|
||||
|
||||
! Now convert to normal distribution
|
||||
DO i = 1, n-1, 2
|
||||
temp = sd * SQRT(-2.0*LOG(array(i))) * COS(2*pi*array(i+1)) + mean
|
||||
array(i+1) = sd * SQRT(-2.0*LOG(array(i))) * SIN(2*pi*array(i+1)) + mean
|
||||
array(i) = temp
|
||||
END DO
|
||||
|
||||
! Check mean and standard deviation
|
||||
mean = SUM(array)/n
|
||||
sd = SQRT(SUM((array - mean)**2)/n)
|
||||
|
||||
WRITE(*, "(A,F8.6)") "Mean = ", mean
|
||||
WRITE(*, "(A,F8.6)") "Standard Deviation = ", sd
|
||||
|
||||
END PROGRAM Random
|
||||
Loading…
Add table
Add a link
Reference in a new issue