【发布时间】:2021-07-13 23:36:32
【问题描述】:
我有以下代码:
program outputdata
implicit none
real, dimension(100) :: x, y
real, dimension(100) :: p, q
integer :: i
! data
do i=1,100
x(i) = i * 0.1
y(i) = sin(x(i)) * (1-cos(x(i)/3.0))
end do
! output data into a file
open(1, file = 'data1.dat', status = 'new')
do i=1,100
write(1,*) x(i), y(i)
end do
close(1)
end program outputdata
我想编写一个非常相似的代码,但它使用一串随机数而不是顺序的 1-100。我找到了这些用于生成随机数序列的代码:
real :: r(5)
call random_seed()
call random_number(r)
但我似乎无法弄清楚如何组合代码以将随机数向量输入到循环中。
【问题讨论】:
-
您是在寻找增量为 0.1 的随机值,还是想要“连续”的浮点值? (吓人的引号,是的,它在计算机上的精度是有限的。)
-
你希望你的随机数是什么样的?所有整数的统一、随机排列、有/无重复的随机选择等?