我正在尝试在 Fortran 中的 2D 数组中生成 [-1, 1] 范围内的随机数。我知道为了生成 -1 和 1 范围内的随机数,我必须将数字重新调整为 [0,2) 但我不知道如何填充矩阵x(10,10)
with randomReal
。这是代码
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
有人可以就我的问题给我一些建议吗?
As per Fortran 中的随机数组/矩阵初始化(你读过吗?)你可以做
xmin = -1
xmax = 1
call random_number(x)
x = xmin + (xmax-xmin)*x
顺便说一句,这些数字将来自区间[-1,1)
, not [-1,1]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)