Program SIMPSON_2VAR IMPLICIT DOUBLE PRECISION (A-H,O-Z) ! Empezamos a contar el tiempo call cpu_time(start) ! 1. definimos el intervalo de integracion a=0d0 b=1d0 c=(a+b)/2d0 ! 4. calculamos la segunda integral a partir de la funcion ! externa definida r=(b-a)/6d0*(g2(a)+4d0*g2(c)+g2(b)) ! 5. Abrimos un fichero excel open(20,File="ejerc10simp2var.xls") ! 6. escribimos resultados , paramos el tiempo y lo escribimos write(20,*)r call cpu_time(finish) write(20,*)"Temps = ",finish-start ,"s" close(20) END ! 2. definimos la funcion de dos variables FUNCTION g1(x1,x2) Implicit Double Precision (A-H,O-Z) ! parameter (a,b) g1=exp(-(x1*x1)-(x2*x2))*cos(2d0*x1*x2) END ! 3. Funcion que nos hace la primera integral y nos queda ! una integral de una variable Function g2(x2) IMPLICIT DOUBLE PRECISION (A-H,O-Z) ! parameter (a,b) a=0d0 b=1d0 c=(a+b)/2d0 g2=(b-a)/6d0*(g1(a,x2)+4d0*g1(c,x2)+g1(b,x2)) END