SlideShare una empresa de Scribd logo
1 de 2
Integral de Riemann
Para calcular una integral desde código, se pueden hacer dos cosas.

En primer lugar, hacer el código necesario capaz de calcular la función primitiva de una
función dada. Esto no sabemos hacerlo los humanos en todos los casos, así que
difícilmente se lo vamos a contar a un ordenador por medio de un programa. Hay
programas capaces de calcular algunas primitivas, pero desde luego no de todas las
funciones.

La otra opción es conformarse con calcular el valor de la integral definida entre dos
valores. Esto, desde un programa java, se puede hacer de forma aproximada. La integral
definida de una función entre dos valores representa el área entre esa función y el eje de
las x, entre los dos valores y que digamos.

Para calcular este área, se puede aproximar por la suma de las áreas de un montón de
rectángulos. Cada rectángulo tendrá una altura y=f(x) y será de un ancho lo más
estrecho posible.

Un código java que puede calcular esto podría ser como el siguiente.

En primer lugar, una interface para representar una función y=f(x), de forma que
nuestro código tratará con estas interfaces



package chuidiang.metodos_numericos;

public interface InterfaceFuncion {
   public double getY (double x);
}



La clase Riemann será la que calcule la aproximación del área -de la integral definida-.
Su código puede ser así


package chuidiang.metodos_numericos;

public class Riemann {
   public static double calculaIntegral (
      InterfaceFuncion funcion,
      double xInicial,
      double xFinal,
      int numeroPasos)
   {
      double resultado = 0.0;

       double incremento = (xFinal-xInicial)/numeroPasos;
       double semiIncremento = incremento/2;
       double x = xInicial;

       for (int i=0;i<numeroPasos;i++)
{
            resultado += incremento * funcion.getY(x+semiIncremento);
            x+=incremento;
        }

        return resultado;
    }
}




A este método le pasaríamos

    •   La función a integrar
    •   El valor xInicial de la integral
    •   El valor xFinal de la integral
    •   El número de rectángulos por el que queremos aproximar la integral. Cuanto
        más grande, más exactitud, aunque tardará más la cuenta.

Aquí un pequeño ejemplo de cómo llamaríamos a este método para calcular la integral
definida de y=x*x entre 0 y 1


package chuidiang.metodos_numericos;

public class MainEjemplo {
   public static void main(String [] args)
   {
      InterfaceFuncion f = new InterfaceFuncion() {
         public double getY(double x) {
            return x*x;
         }
      };

        System.out.println(Riemann.calculaIntegral(f, 0.0, 1.0, 1000));
    }
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

FASE DE PLANIFICACIÓN
FASE DE PLANIFICACIÓNFASE DE PLANIFICACIÓN
FASE DE PLANIFICACIÓN
 
Introduccion a la programacion en C#
Introduccion a la programacion en C#Introduccion a la programacion en C#
Introduccion a la programacion en C#
 
Guia 2nd o & 3er
Guia 2nd o & 3erGuia 2nd o & 3er
Guia 2nd o & 3er
 
Ejercicios sencillos en c
Ejercicios sencillos en cEjercicios sencillos en c
Ejercicios sencillos en c
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en Python
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Programa en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbujaPrograma en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbuja
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Clase 7
Clase 7Clase 7
Clase 7
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
 
Tema iiderivadas
Tema iiderivadasTema iiderivadas
Tema iiderivadas
 
Matlab Función Arco Tangente
Matlab Función Arco TangenteMatlab Función Arco Tangente
Matlab Función Arco Tangente
 
Programa 2
Programa 2Programa 2
Programa 2
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)
 
Practica dibujo de marco dev c++
Practica dibujo de marco dev c++ Practica dibujo de marco dev c++
Practica dibujo de marco dev c++
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 

Similar a Integral de riemann

Similar a Integral de riemann (20)

Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
DERIVACIÓN E INTEGRACIÓN NUMÉRICA
DERIVACIÓN E INTEGRACIÓN NUMÉRICADERIVACIÓN E INTEGRACIÓN NUMÉRICA
DERIVACIÓN E INTEGRACIÓN NUMÉRICA
 
Ejercicio
EjercicioEjercicio
Ejercicio
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
9
99
9
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido1
Programacion ejercicio unidimensional-convertido1Programacion ejercicio unidimensional-convertido1
Programacion ejercicio unidimensional-convertido1
 
S
SS
S
 
Farinango
FarinangoFarinango
Farinango
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
10
1010
10
 
Arreglos basándose en la cedula
Arreglos basándose en la cedula Arreglos basándose en la cedula
Arreglos basándose en la cedula
 
Informe de Gonzalo Farinango (AU).pdf
Informe de Gonzalo Farinango (AU).pdfInforme de Gonzalo Farinango (AU).pdf
Informe de Gonzalo Farinango (AU).pdf
 
Mi exp
Mi expMi exp
Mi exp
 
La regla de la cadena.docx
La regla de la cadena.docxLa regla de la cadena.docx
La regla de la cadena.docx
 
La regla de la cadena.docx
La regla de la cadena.docxLa regla de la cadena.docx
La regla de la cadena.docx
 

Integral de riemann

  • 1. Integral de Riemann Para calcular una integral desde código, se pueden hacer dos cosas. En primer lugar, hacer el código necesario capaz de calcular la función primitiva de una función dada. Esto no sabemos hacerlo los humanos en todos los casos, así que difícilmente se lo vamos a contar a un ordenador por medio de un programa. Hay programas capaces de calcular algunas primitivas, pero desde luego no de todas las funciones. La otra opción es conformarse con calcular el valor de la integral definida entre dos valores. Esto, desde un programa java, se puede hacer de forma aproximada. La integral definida de una función entre dos valores representa el área entre esa función y el eje de las x, entre los dos valores y que digamos. Para calcular este área, se puede aproximar por la suma de las áreas de un montón de rectángulos. Cada rectángulo tendrá una altura y=f(x) y será de un ancho lo más estrecho posible. Un código java que puede calcular esto podría ser como el siguiente. En primer lugar, una interface para representar una función y=f(x), de forma que nuestro código tratará con estas interfaces package chuidiang.metodos_numericos; public interface InterfaceFuncion { public double getY (double x); } La clase Riemann será la que calcule la aproximación del área -de la integral definida-. Su código puede ser así package chuidiang.metodos_numericos; public class Riemann { public static double calculaIntegral ( InterfaceFuncion funcion, double xInicial, double xFinal, int numeroPasos) { double resultado = 0.0; double incremento = (xFinal-xInicial)/numeroPasos; double semiIncremento = incremento/2; double x = xInicial; for (int i=0;i<numeroPasos;i++)
  • 2. { resultado += incremento * funcion.getY(x+semiIncremento); x+=incremento; } return resultado; } } A este método le pasaríamos • La función a integrar • El valor xInicial de la integral • El valor xFinal de la integral • El número de rectángulos por el que queremos aproximar la integral. Cuanto más grande, más exactitud, aunque tardará más la cuenta. Aquí un pequeño ejemplo de cómo llamaríamos a este método para calcular la integral definida de y=x*x entre 0 y 1 package chuidiang.metodos_numericos; public class MainEjemplo { public static void main(String [] args) { InterfaceFuncion f = new InterfaceFuncion() { public double getY(double x) { return x*x; } }; System.out.println(Riemann.calculaIntegral(f, 0.0, 1.0, 1000)); } }