Fortran 生成[-1,1]范围内的随机数数组
我试图用Fortran语言在2D数组中生成[-1,1]范围内的随机数。我知道为了生成-1和1范围内的随机数,我必须将数字重新缩放到[0,2],但我不知道如何用Fortran 生成[-1,1]范围内的随机数数组,fortran,gfortran,Fortran,Gfortran,我试图用Fortran语言在2D数组中生成[-1,1]范围内的随机数。我知道为了生成-1和1范围内的随机数,我必须将数字重新缩放到[0,2],但我不知道如何用randomReal填充矩阵x(10,10)。下面是代码 program random implicit none real :: rnd, randomReal real, dimension (10,10) :: x integer :: L, i L = 10 ! length of sequence do i = 1
randomReal
填充矩阵x(10,10)
。下面是代码
program random
implicit none
real :: rnd, randomReal
real, dimension (10,10) :: x
integer :: L, i
L = 10 ! length of sequence
do i = 1, L
call random_number(rnd)
randomReal = 2*rnd-1
print *, "random real = ", randomReal
end do
write(*,*) (x(L,L), L=1,10) ! assign random numbers to matrix x
call random_number(x)
end program random
有人能就我的问题给我一些建议吗?根据(你读过吗?)你能做什么
xmin = -1
xmax = 1
call random_number(x)
x = xmin + (xmax-xmin)*x
顺便说一句,数字将来自间隔[-1,1)
,而不是[-1,1]
(你读到了吗?),你可以这样做
xmin = -1
xmax = 1
call random_number(x)
x = xmin + (xmax-xmin)*x
顺便说一句,数字将来自区间[-1,1)
,而不是[-1,1]