Program SIMPSON_5VAR IMPLICIT DOUBLE PRECISION (A-H,O-Z) call cpu_time(start) a=0d0 b=1d0 c=(a+b)/2d0 r=(b-a)/6d0*(g5(a)+4d0*g5(c)+g5(b)) open(20,File="ejerc10simp5var.xls") write(20,*)r call cpu_time(finish) write(20,*)"Temps = ",finish-start ,"s" close(20) END FUNCTION g1(x1,x2,x3,x4,x5) Implicit Double Precision (A-H,O-Z) g1=exp(-x1**2-x2**2-x3**2-x4**2-x5**2)*cos(x2*x1+x3*x2+ & x3*x4+x4*x5+x5*x1) END Function g2(x2,x3,x4,x5) IMPLICIT DOUBLE PRECISION (A-H,O-Z) a=0d0 b=1d0 c=(a+b)/2d0 g2=(b-a)/6d0*(g1(a,x2,x3,x4,x5)+4d0*g1(c,x2,x3,x4,x5)+ & g1(b,x2,x3,x4,x5)) END Function g3(x3,x4,x5) IMPLICIT DOUBLE PRECISION (A-H,O-Z) a=0d0 b=1d0 c=(a+b)/2d0 g3=(b-a)/6d0*(g2(a,x3,x4,x5)+4d0*g2(c,x3,x4,x5)+g2(b,x3,x4,x5)) END Function g4(x4,x5) IMPLICIT DOUBLE PRECISION (A-H,O-Z) a=0d0 b=1d0 c=(a+b)/2d0 g4=(b-a)/6d0*(g3(a,x4,x5)+4d0*g3(c,x4,x5)+g3(b,x4,x5)) END Function g5(x5) IMPLICIT DOUBLE PRECISION (A-H,O-Z) a=0d0 b=1d0 c=(a+b)/2d0 g5=(b-a)/6d0*(g4(a,x5)+4d0*g4(c,x5)+g4(b,x5)) END