RANDOM NUMBER GENERATOR

As a test ,generates pi from the unit radius circle.

By Reinaldo Baretti Machín
www.geocities.com/serienumerica2 www.geocities.com/serienumerica [email protected]


c generates pi as 4.*area of the quadrant of unit radius circle
c  area of sampling =1   ,0<=x<=1, 0<=y<=1 , one fouth circle pi/4.
      f(x)=sqrt(1.-x**2)
      pi=2.*asin(1.)
      nstep=4000
      bigsum=0.
      do 20 ix=1,10
      x=2.*sqrt(float(ix))
      sum=0.
      do 10 i=1,nstep
      y=sqrt(pi*x)
      z=(sqrt(pi*x)-int(y))
      x1=z
      x=z*(float(i))**(1./3.)*1.e2
      sum=sum+f(x1)
10    continue
      aint= sum/float(nstep)
      print*,'ix,integral=',ix, aint
      bigsum=bigsum+aint
20    continue
      sumtrap=0.
      dx=1./float(nstep)
      do 30 i=1,nstep
      x=0.+dx*float(i)
      sumtrap=sumtrap+(dx/2.)*( f(x)+f(x-dx) )
30    continue
      sumtrap=4.*sumtrap
      print*,'   '
      print*,'bigsum/10. , pi/4.,int by trap=',4.*bigsum/10.,pi,sumtrap
      stop
      end

 ix,integral= 1  0.780423939
 ix,integral= 2  0.788681924
 ix,integral= 3  0.778350234
 ix,integral= 4  0.789347053
 ix,integral= 5  0.788558424
 ix,integral= 6  0.790819228
 ix,integral= 7  0.78872937
 ix,integral= 8  0.776452482
 ix,integral= 9  0.784374595
 ix,integral= 10  0.790816247

 bigsum/10. , pi/4.,int by trap=  3.14262152  3.14159274  3.14158654



Hosted by www.Geocities.ws

1