Post on 20-May-2018
Tutorial para resolver integrales
con métodos numéricos
USUARIO
TURORIAL PARA RESOLVER METODOS NUMERICOS
SEBASTIAN MORENO
SOFIA OJEDA
UNIVERSIDAD MARIANA
FACULTAD DE INGENIERIA
INGENIERIA DE PROCESOS
PASTO 2015
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
5.2 Diagrama de flujos
6. ERROR DE INTEGRACION
7. WEBGRAFIA
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
3portales.puj.edu.co/objetosdeaprendizaje/Online/OA10/capitulo4/capitulo4_2.ht
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 f es
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/
5 Ibíd.
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
_______________________________
6 Ibíd.
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
_________________________________
7 sc.ehu.es/sbweb/energías renovables/MATLAB/basico/vectores/salida.html
.
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 es repetitivo, es necesario darle una condición, para que el
programa no arroje resultados infinitos, por eso se iguala la variable definida
anteriormente z a z+k, ya que el programa lee los datos de derecha a izquierda, y
así posteriormente poder finalizar el bucle.
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
Igualar la
variable z a z+d
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.
10 proton.ucting.udg.mx/~jnorato/materias/metodos/integra/sim13/index.htm
“ ”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.
12 mathworks.com/help/matlab/ref/clear.html
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 crea bucle for con nuevas condiciones con respecto a las variables
anteriormente creadas.
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.
4.3 Diagrama de flujos
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
Evaluación de los
límites
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
_____________________________
13didactalia.net/comunidad/materialeducativo/recurso/formulas-de-
newtoncotes/3846ad57-b5dc-4cec-b985-f35a3b8b4a15?rdf
14 frsn.utn.edu.ar/GIE/AN/IN/Formulas_Newton_Cotes.html
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.
*Punto Medio: En este método se divide la función en rectángulos, los cuales
deben tener una altura igual al valor de la función en el punto medio
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 18 Ibíd.
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.
______________________________
19 mathworks.com/help/matlab/ref/feval.html
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,
y disp
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
_________________________
20 Óp. Cit. prof.uniandes.edu.co/~gprieto/classes/compufis/integracion.pdf
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
sc.ehu.es/sbweb/energías_renovables/MATLAB/simbolico/algebra/algebra.
html