Programa para hallar el área bajo la curva de una función especifica, dado un intervalo, ahora en Java

Olvide comentar en el post anterior que el área bajo la curva es en el intervalo [1,10]

Ahora el programa en java, disfrútenlo:

package util;
import java.math.*;
import java.util.Calendar;
public class Integral {
       public static double integralsup(int a, int b, long n) {
            double base, suma=0, y=0, f=0, tresxalasexta=0;
                int i;
                base=(double)(b-a)/n;
                for(i=0;i<n;i++){
               y=base*(i+1)+a;
               tresxalasexta = Math.pow(y,6);
                   f=3*tresxalasexta-8*y;
                       suma+=base*f;
                }
            return suma;
       }
       public static double integralinf(int a, int b, long n) {
            double base, suma=0, y=0, f=0, tresxalasexta=0;
                int i;
                base=(double)(b-a)/n;
                for(i=0;i<n;i++){
               y=base*(i)+a;
               tresxalasexta = Math.pow(y,6);
                   f=3*tresxalasexta-8*y;
                       suma+=base*f;
                }
            return suma;
       }
       /**
        * @param args
        */
       public static void main(String[] args) {
               // TODO Auto-generated method stub
               Calendar calendario = Calendar.getInstance();
               System.out.println("Inicio "+calendario.getTime());
           double error,inf,sup;
           error = 1;
           sup = 0;
           inf=0;
           long n =0;
           long i = 0;
           for(n=10000;n>1;n=n+1000){
                       sup=integralsup(1,10,n);
                       inf=integralinf(1,10,n);
                       error=sup-inf;
               i=n;
               if (error<20) break;
               }
           System.out.println("***** Area bajo la Curva *****");
           System.out.println("Integral Superior: "+sup);
           System.out.println("Integral Inferior: "+inf);
           System.out.println("Error: "+error);
           System.out.println("Numero de iteraciones: "+i);
               calendario = Calendar.getInstance();
               System.out.println("***** Area bajo la Curva *****");
               System.out.println("FIN: "+calendario.getTime());
       }
}

 

Esta es la salida para un error menor a 20

Inicio Thu Jan 26 17:20:44 CST 2012
***** Area bajo la Curva *****
Integral Superior: 4285327.856899507
Integral Inferior: 4285307.857399507
Error: 19.999499999918044
Numero de iteraciones: 1350000
***** Area bajo la Curva *****
FIN: Thu Jan 26 17:27:02 CST 2012

Comentarios

Entradas populares