作者tonyruler (TONY)
看板Fortran
标题[请益] random~
时间Tue May 4 22:53:45 2010
有办法每次执行时
seed会自动改变吗
不然每次执行都出现同一组seed的random_number
似乎达不到乱数的感觉
上课ppt上写说
call random_seed()
do i=1,10
random_number(x)
print* x
enddo
end
每次执行a.out
得到的x值都会不一样
可是我回家用 却每次都一样阿
都是同一组
到底是哪里有问题= =?
:wq
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.186.29
1F:推 motoman:我的gfortran也不会自己random 我的方法是另外塞一个帮我 05/04 23:54
2F:→ motoman:做random的函式 这个东西google一下就有现成的可用了 05/04 23:55
3F:→ motoman:另一个方法是设定random_seed 但我不会用= = 05/04 23:56
4F:推 hsnuallen:我们老师会先CALL random_seed 然後紧接着再抠一次 05/05 00:14
5F:→ hsnuallen:Call random_seed (get=seed(1))耶 他说这样可以避免 05/05 00:14
6F:→ hsnuallen:重复的情形发生...不过我只抠一次也没有重复@@ 05/05 00:15
7F:推 latinboy: 要看compiler,gfortran会重复 05/05 08:47
9F:推 motoman:楼上原来我是call你的东西xd 05/05 09:07
10F:→ tonyruler:L大点醒我噜~用ifort跟pgf90都不会重复噜~ 05/05 20:14
11F:→ tonyruler:所以用上面两种编译器省掉写函式的空间会比较好吗? 05/05 20:28
12F:推 motoman:我的看法是你那个函式留着 code写成三种都能编译比较好 05/07 09:54
13F:推 motoman:一来是可以交插编译除错 再来是增加程式的可移植性 intel 05/07 09:57
14F:→ motoman:的cpu就用ifort编译执行 amd的就用pgi编 没必要省code行数 05/07 09:58