fortran循环程序程序错在哪里?

问题描述:

fortran循环程序程序错在哪里?
program random
implicit none
double precision t,wi,Pt
integer i,m
parameter(m=10)
do i=1,m
real ::x
call random_seed ()
call random_number (x)
wi=0.1
t=-log(x)/wi
Pt=wi*exp(t*wi)
write(*,*) i,t,Pt
end do
end program random
本来real ::x放do前面可以运行,但是输出的数据相同,求教.补充:我想要许多随机数来看随机数的分布情况
1个回答 分类:综合 2014-12-06

问题解答:

我来补答
call random_seed ()
也必须放到 do 前面去.种子只能种一次.
再问: 我要许多随机数怎么办呢?
再答: 我不是说了么?call random_seed () 放 do 前面去。
再问: 恩,好了。拜谢。 那我要看Pt的分布情况有没有可以直接用的程序或者函数?
再答: 语法里没有这样的函数,自己写吧。
 
 
展开全文阅读
剩余:2000