Program MONTECARLO_MUESTREO_UNIFORME_10var Implicit Double precision (A-H,o-z) DOUBLE PRECISION g,g0,a,b,r1,s1,r,s,pi,u,z real finish ,start integer n a=0d0 b=1d0 n=10 pi=acos(-1d0) open(60,File="ejerc10mostrunif10var.xls") call cpu_time(start) do j=n,10000000000 r1=0. s1=0. do 1 i=1,n u1=rand() u2=rand() u3=rand() u4=rand() u5=rand() u6=rand() u7=rand() u8=rand() u9=rand() u10=rand() g0=g(a+(b-a)*u1,a+(b-a)*u2,a+(b-a)*u3,a+(b-a)*u4,a+(b-a)*u5, & a+(b-a)*u6,a+(b-a)*u7,a+(b-a)*u8,a+(b-a)*u9,a+(b-a)*u10) 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.1d6) 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,x3,x4,x5,x6,x7,x8,x9,x10) Implicit Double Precision (A-H,O-Z) g=exp(-x1**2-x2**2-x3**2-x4**2-x5**2-x6**2-x7**2-x8**2- & x9**2-x10**2)*cos(x1*x2+x2*x3+x3*x4+x4*x5+x5*x6+x6*x7+x7 & *x8+x8*x9+x9*x10+x10*x1) end