Program MONTECARLO_MUESTREO_UNIFORME_nvar Implicit Double precision (A-H,o-z) DOUBLE PRECISION g,g0,a,b,r1,s1,r,s,pi,u real finish ,start integer n a=0d0 b=1d0 n=10 open(60,File="ejerc10mostrunif.xls") call cpu_time(start) do j=n,10000000000 r1=0. s1=0. do 1 i=1,n u=rand() ! generamos otra variable v v=rand() ! g ahora es de dos variables g0=g(a+(b-a)*u,a+(b-a)*v) r1=r1+g0 s1=s1+g0*g0 1 continue r1=r1/n s1=sqrt((s1/n-r1*r1)/n) r=(b-a)*r1 s=(b-a)*s1 write(60,20)n,r,s if (n.gt.1d7) go to 30 n=n*10 enddo 30 call cpu_time(finish) write(60,*)"Temps = ",finish-start ,"s" close(60) 20 Format(I20,4X,F20.14,4X,E20.14) end Function g(x1,x2) Implicit Double Precision (A-H,O-Z) g=exp(-x1**2-x2**2)*cos(x2*x1+x1*x2) end