Tutorial para
resolver integrales
con métodos
numéricos
TURORIAL PARA RESOLVER METODOS NUMERICOS
SEBASTIAN MORENO SOFIA OJEDA
UNIVERSIDAD MARIANA FACULTAD DE INGENIERIA INGENIERIA DE PROCESOS
CONTENIDO
1. INTRODUCCION
2. ¿QUE SON LOS METODOS DE INTEGRACION NUMERICA? 3. METODO DEL TRAPECIO
3.1 Algoritmo 3.2 Código Matlab 3.3 Diagrama de flujos 4. METODO DE SIMPSON
4.1 Algoritmo 4.2 Código Matlab 4.3 Diagrama de flujos
5. METODO DE NEWTON-COTES 5.1Codigo Matlab
INTRODUCCION
Los métodos numéricos son técnicas mediante las cuales es posible formular problemas y resolverlos aritméticamente. Estos vuelven aptas a las personas a entender esquemas numéricos, con el fin de resolver problemas matemáticos, de ingeniería y científicos en una computadora.
Hay varias razones para llevar a cabo la integración numérica. La principal puede ser la imposibilidad de realizar la integración de forma analítica. Es decir, integrales que requerirían de un gran conocimiento y manejo de matemática avanzada pueden ser resueltas de una manera más sencilla mediante métodos numéricos. Incluso existen funciones integrables pero cuya primitiva no puede ser calculada, siendo la integración numérica de vital importancia. La solución analítica de una integral nos arrojaría una solución exacta, mientras que la solución numérica nos daría una solución aproximada. El error de la aproximación, que depende del método que se utilice y de qué tan fino sea, puede llegar a ser tan pequeño que es posible obtener un resultado idéntico a la solución analítica en las primeras cifras decimales.
¿Qué son los métodos
de integración numérica?
“Los métodos de integración numérica son una combinación de evaluaciones del integrando para obtener una aproximación a la integral.”1 Es necesario tener en cuenta el comportamiento del error de aproximación como una función del número de evaluaciones del integrando.
“Muchos valores de interés para las ciencias se expresan a través de integrales, y algunas de esas integrales son difíciles de resolver analíticamente. Esto puede deberse a la complejidad de la función a integrar, o al dominio de integración o a ambos. “2 “La estrategia acostumbrada para desarrollar fórmulas para la
integración numérica consiste en hacer pasar un polinomio por puntos definidos de la función y luego integrar la aproximación polinómica de la función.”3
___________________________________
1docsetools.com/articulos-para-saber-mas/article_42968.html
2prof.uniandes.edu.co/~gprieto/classes/compufis/integracion.pdf
Método del trapecio
“Una forma de aproximar una integral definida, consiste en usas N trapecios”, como se muestra en la figura. En el desarrollo de este método, se supone que fes continua y positiva en el intervalo [a,b] y que la integral
definida representa el área de la región limitada por la gráfica de f y el eje X, desde x=a hasta x=b. [1]”4
3.1 Algoritmo para el método del trapecio
1 “Se parte el intervalo comprendido entre [a, b] en sub-intervalos más pequeños, definidos por la variable N, nombrando el ancho de esos sub-intervalos como dx (que en nuestro caso representa a delta (X).”5
________________________________
4 blogdelingeniero1.wordpress.com/2013/04/13/matlab-integracion-numerica-metodo-del-trapecio/
2 Se realiza la siguiente serie
“Como se puede observar, es una sumatoria, donde todos los términos están multiplicados por 2 excepto el primero y el ultimo termino y posteriormente están multiplicados todos por lo que podríamos llamar entonces dx/2.”6
3.2 Código en Matlab.
En este punto se creara una función en Matlab, que recibirá como parámetros, en la función, el límite superior e inferior; también se puede recibir como parámetro el número de sub-intervalos (segmentos) deseados N.
Se agrega la función fprintf que “permite mezclar texto y valores numéricos de las variables y también se puede ajustar el formato de los números, va a permitir
_______________________________
escribir por pantalla un resultado que no se sabe, pero que se calcula a lo largo del programa.” 7
Posteriormente se usa una variable (f), que va a representar una función, y podrá ser escrita usando la herramienta input que permite al usuario agregar cualquier función o valor al programa.
Se usa nuevamente input para agregar el valor del límite superior e inferior y el número de segmentos a dividir.
Se crea una variable (h) en la cual se restara los limites superior e inferior a ese resultado se lo dividirá entre el número de segmentos que el usuario ingresó anteriormente.
Se crea una variable (z) igualándola a cero para posteriormente comenzar Un ciclo for con esta variable
_________________________________
Se crea un bucle for que “se empleará cuando conocemos el número de veces que se ejecutará una sentencia o un bloque de sentencias”8
Se crea una variable (k), la cual será igualada que nos permite evaluar la función que el usuario introdujo anteriormente.
Se utiliza if como una condicion.
Si la condicion se cumple, es necesario terminar con el bucle, para que el programa de una respuesta, por eso se escribe la funcion end que significa finalizar .
Si la condición no se cumple, es necesario colocar otra condición para que el programa opere así que se agrega otro condicional if.
Si la nueva condición se cumple, es necesario terminar con el bucle, ya que el programa dará una respuesta.
Como el bucle for ha terminado a la variable z se la iguala nuevamente a z y se le resta las condiciones d y e de evaluación echas anteriormente. Luego se opera con los límites puestos inicialmente.
Se escribe nuevamente la función fprintf para que el programa arroje el resultado del método del trapecio ya realizado.
3.3 Diagrama de flujos
Método del trapecio en Matlab
Ingreso de la función fprintf
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable con input para ingresar los límites y segmentos
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable que reste los limites y
divida los segmentos
Ingreso de una variable (z) e igualarla a cero Condicionamiento
del bucle for con if Si el condicionamiento
se cumple terminar el bucle
Finalizar el bucle
Operar con la variable igualada z y los límites
y segmentos
Ingreso de la función fprintf para que el programa de resultados reultados
Creación de un bucle for
Método de Simpson
Este método es nombrado así en honor a Thomas Simpson. Esta forma de integrar sigue una idea similar a la del trapecio, pero se aproxima los su intervalos de f por medio de polinomios de segundo grado.
“Para cada intervalo, la regla de Simpson aproxima la función a integrar f(x) con una parábola”8 como se muestra en la figura.
f(x) ≈ αx2 + βx + γ
“Donde todos los intervalos tienen un muestreo homogéneo. La función f(x) se puede expresar como la suma ponderada de valores de la función en tres puntos“9.
4.1 Algoritmo método de Simpson
El método de Simpson es representado de la forma:
“ ”10
1 Se sustituye la regla de Simpson en cada una de las integrales individuales y reordenando términos se obtiene:
________________________________________
8 Óp. cit. prof.uniandes.edu.co/~gprieto/classes/compufis/integracion.pdf
9 Ibíd.
“ ”11
4.2 Código en Matlab
Se creara una función en Matlab, que llevara parámetros similares al método del trapecio en la función, el límite superior e inferior; también el número de sub-intervalos (segmentos) que debe ser un número par.
Para este método se usa la función clear que “elimina elementos de espacio de trabajo, liberando la memoria del sistema” 12, ya que serán usados varios
elementos durante el programa. Además se utiliza clc para que sean borrados los datos puestos en pantalla
Posteriormente se usa la función fprintf explicada anteriormente (método del trapecio)
__________________________________
11 Ibid.
Se crea cuatro variables diferentes con input, para que el usuario ingrese la
función a integrar, otras para el límite superior e inferior y la última para el número de segmentos.
Se crea otra variable (h) que reste el límite superior con el inferior y a ese resultado se le divida el número de segmentos
Se crean dos variables más una igualada a cero (z) y la otra igualada al límite inferior puesto por el usuario para posteriormente usarlas en el bucle for
Se creara un bucle for (explicado anteriormente en el metodo del trapecio), que tenga una if imponiendo condiciones, una evaluaruacion, y una finalizacion del bucle.
Se crea nuevas varibles para iniciar nuevamente con un bucle for.
Se le vuelve a asignar una variable (x) al limite (imferior) puesto por el usuario y se lo condiciona con if para que sea evaluado por el programa
Nuevamente se vuelve asignar una variable (x) al límite puesto por el usuario con la diferencia que este límite es el superior, para que también sea evaluado.
Como la fórmula de la regla de Simpson es 1/3 de segmentos múltiples, el número de segmentos a usar debe ser para para que se implemente el método, así que se opera con la variable igualada a cero inicialmente (z) y las otras variables insertadas a lo largo del programa para que finalmente la función fprintf muestre el resultado de la integral resuelta.
Método de Simpson en Matlab
Ingreso de la función clear, clc,
y fprintf
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable con input para ingresar los límites y segmentos
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable que reste los limites y
divida los segmentos
Ingreso de una variable (z) e igualarla a cero y una variable x iguala al limite inferior
Y una variable x Condicionamiento
del bucle for con if Si el condicionamiento
se cumple terminar el bucle
Finalizar el bucle
Operar según los criterios del método de
Simpson
Ingreso de la función fprintf para que el programa muestre resultados reultados Creación de
un bucle for
Igualar la variable z a z+d
Ingreso de una variable (zz) e igualarla
a cero y una variable x iguala al limite inferior
Y una variable x
Creación de un nuevo bucle for Si el condicionamiento
se cumple terminar el bucle
Método de Newton Cotes
“Es un grupo de fórmulas de integración numérica de tipo inter-polatorio, en las cuales se evalúa la función en puntos equidistantes, para así hallar un valor aproximado de la integral. Cuanto más intervalos se divida la función más preciso será el resultado” 13
“Las fórmulas de Newton - Cotes son los tipos de integración numérica más comunes. Se basan en la estrategia de reemplazar una función complicada o datos tabulados por un polinomio de aproximación que es fácil de integrar” 14
Donde fn(x) es un polinomio de la forma
Donde n es el grado del polinomio. Por ejemplo, en la Figura 5 se utiliza un polinomio de primer grado como una aproximación, mientras que en la Figura 6 utiliza un polinomio de segundo grado para esta.
“La integral también se puede aproximar usando un conjunto de polinomios aplicados por intervalos a la función o datos, sobre segmentos de longitud _____________________________
13 didactalia.net/comunidad/materialeducativo/recurso/formulas-de-newtoncotes/3846ad57-b5dc-4cec-b985-f35a3b8b4a15?rdf
Constante”15. Así, en la Figura 7, se usan tres segmentos de línea recta para aproximar la integral.
En este método hay unas formas cerradas como el trapecio y unas formas abiertas como el método del punto medio*
5.1 Código en Matlab
Se creara una función en Matlab, que llevara parámetros como el intervalo inferior y superior para dar el resultado a la integral
___________________________
15 Ibíd.
Se usa funciones como clc y clear all para no saturar la memoria del programa por los datos ingresados, y se usa disp para que al correr el programa muestre el nombre del método.
Se usara sym para definit “un nuevo tipo de dato denominado objeto simbólico, que representan a variables, expresiones y matrices”16
El comando sym se usa para crear objetos simbólicos en Matlab, en este caso será una variable (x)
Se crea una variable igualada a inline que “interpreta una cadena de texto en la que se escribe una función y la conecta a una variable”17 ya que “si Matlab no
puede definir funciones completas dentro de un script significa que para escribir cualquier expresión matemática no básica se debe crear un archivo, esto es realizado por la sentencia inline”18 además se le agrega un input entre paréntesis, para que el usuario ingrese una función que pueda ser modificada.
Se crea dos variables con input para que el usuario agregue los intervalos superior e inferior
Se crea una variable (n) igualada a 1 para poder usar esta variable en el método posteriormente
________________________________
16sc.ehu.es/sbweb/energías_renovables/MATLAB/simbolico/algebra/algebra.html
17 iimyo.forja.rediris.es/matlab/cursolatex005.html
Se crea una variable (h) que reste los intervalos ingresados por el usuario y los divida entre tres.
Se iguala la variable x0 al límite inferior y luego se suma la variable (h) hecha anteriormente con X1, X2 y así sucesivamente
Se usa la función feval que “evalúa el rango de una función, utilizando argumentos x1 a través de xn, ( es decir, que representa un conjunto de funciones
sobrecargadas )”19
Es necesario operar con las 3 interacciones del método por eso se aplica una variable (I1) donde se opera la variable (h) que es la operación de los intervalos dados por el usuario, se lo divide entre dos, y a este resultado se lo multiplica por el resultado de la suma de feval cero con feval uno, estos cálculos son realizados para analizar sacar el error, y que el resultado de la integral sea más exacto.
Se le asigna un valor 2 a la variable (n) y se vuelve a operar.
______________________________
Se iguala la variable(n) a tres y nuevamente se opera, para que finalmente el programa arroje el resultado.
5.2 Algoritmo Matlab
E
Método de Newton-Cotes
Ingreso de una variable sym e inline para ingresar la función y
poder modificarla
Ingreso de una variable con input para ingresar
los intervalos
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable con input para ingresar
la función
Ingreso de una variable(h) que reste los
limites y divida entre tres
Ingreso de una variable (n) e igualarla a uno
Se opera con otras variables x y la variable
h
Calculo de error
Con la variable n igualada a 2 y 3
Ingreso de la disp. para que el programa de resultados reultados
Se igual un intervalo inferior a la variable x0 Se opera con la
a función feval Ingreso de la función clear, clc,
Error de Integración
La solución analítica de una integral arrojaría una solución exacta, mientras que la solución numérica daría una solución aproximada. El error de la aproximación depende del método que se utilice y de qué tan fino sea, puede llegar a ser tan pequeño que es posible obtener un resultado idéntico a la solución analítica en las primeras cifras decimales.
“En general, el usuario elige una regla de integración que resulte en una respuesta precisa realizando la menor cantidad de operaciones, es decir con un valor N tan pequeño como sea posible”20
_________________________
WEB GRAFIA
blogdelingeniero1.wordpress.com/2013/12/31/metodo-de-newton-raphson-newton-fourier-en-matlab/
blogdelingeniero1.wordpress.com/2013/12/31/metodo-de-newton-raphson-newton-fourier-en-matlab/
didactalia.net/comunidad/materialeducativo/recurso/formulas-de-newtoncotes/3846ad57-b5dc-4cec-b985-f35a3b8b4a15?rd
docsetools.com/articulos-para-saber-mas/article_42968.html
frsn.utn.edu.ar/GIE/AN/IN/Formulas_Newton_Cotes.html
isrant.blogspot.com/2012/02/metodo-de-simpson-13-en-matlab.html
mathworks.com/help/matlab/ref/feval.html
portales.puj.edu.co/objetosdeaprendizaje/Online/OA10/capitulo4/capitulo4_ 2.ht
prof.uniandes.edu.co/~gprieto/classes/compufis/integracion.pdf
proton.ucting.udg.mx/~jnorato/materias/metodos/integra/sim13/index.htm