我对我的fortran randomwalk代码感到困惑

时间:2018-03-30 01:24:20

标签: fortran fortran95

我正在开展一个学校项目,我必须制作一个程序,该程序采用1到0之间的随机数,并在班轮图上以左,右或无变化的方式解释。我不明白为什么这个位置常数为0.任何帮助? 这是:

program test
implicit none 
integer, dimension(100)::tau
integer, dimension(100)::position=0
real,dimension(100)::x
real::y,a,b
integer::n
a=1/3
b=2/3
do n=1,100
    tau(n)=n
    call random_number(y)
    x(n)=y
end do
position(1)=0
do n=1,100
  if (x(n) .le. a) then
    position(n)=position(n)+1
  else if ((x(n) .gt. a) .and. (x(n) .le. b)) then
    position(n)=position(n)-1
  else
    position(n)=position(n)+0
  end if
end do
open(unit=10, file="test.txt")
do n=1,100
    write(10,*) tau(n),x(n), position(n)
end do
close(10)
end program test

1 个答案:

答案 0 :(得分:1)

问题是你的两个实变量'a'和'b'是由整数常量定义的,所以它们都是零。

更改为:

a=1.0/3.0
b=2.0/3.0