Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian...

22
Tutorial para resolver integrales con métodos numéricos USUARIO

Transcript of Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian...

Page 1: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

Tutorial para resolver integrales

con métodos numéricos

USUARIO

Page 2: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

TURORIAL PARA RESOLVER METODOS NUMERICOS

SEBASTIAN MORENO

SOFIA OJEDA

UNIVERSIDAD MARIANA

FACULTAD DE INGENIERIA

INGENIERIA DE PROCESOS

PASTO 2015

Page 3: Tutorial para resolver integrales con métodos numéricos 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

5.2 Diagrama de flujos

6. ERROR DE INTEGRACION

7. WEBGRAFIA

Page 4: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 5: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

¿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

Page 6: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 7: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 8: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

.

Page 9: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 10: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 11: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 12: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

“ ”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

Page 13: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 14: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 15: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 16: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 17: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 18: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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.

Page 19: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 20: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 21: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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

Page 22: Tutorial para resolver integrales con métodos numéricos para resolver metodos numericos sebastian moreno sofia ojeda universidad mariana facultad de ingenieria ingenieria de procesos

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