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前面可以运行,但是输出的数据相同,求教.补充:我想要许多随机数来看随机数的分布情况
答
call random_seed ()
也必须放到 do 前面去.种子只能种一次.我要许多随机数怎么办呢?我不是说了么?call random_seed ()放 do 前面去。恩,好了。拜谢。那我要看Pt的分布情况有没有可以直接用的程序或者函数?语法里没有这样的函数,自己写吧。