Método del trapecio en scilab, código integración numérica

29
Método del Trapecio en Scilab, Código Integración Numérica. CLASE 12 14-MARZO-2015

Transcript of Método del trapecio en scilab, código integración numérica

Page 1: Método del trapecio en scilab, código integración numérica

Método del Trapecio en

Scilab, Código

Integración Numérica.CLASE 12

14-MARZO-2015

Page 2: Método del trapecio en scilab, código integración numérica

Integración Numérica en Matlab

El método del trapecio y también conocido como ‘Regla de Simpson‘,

aunque esta última en realidad es una ‘optimización’ de la regla de los

trapecios. Pues bueno, como el titulo lo indica, esta vez lo

implementaremos en el conocido software de código abierto Scilab.

Page 3: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

La esencia del método del trapecio es calcular el área que existe bajo la

curva definida por 𝑦 = 𝑓(𝑥) y el eje 𝑋, en un intervalo dado [𝑎, 𝑏] mediante

el uso de N ‘trapecios’ o rectángulos, además suponiendo que dicha

función es (𝑦 debe ser) continua en todo este intervalo, lo anterior lo

ilustramos en la figura 1.

Page 4: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

Figura 1: Función 𝑌(𝑥) , el área bajo la curva, se

puede aproximar mediante n trapecios, en este

caso 4 trapecios.

Page 5: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

En matemática la regla del trapecio es un método de integración

numérica, es decir, un método para calcular aproximadamente el valor

de la integral definida

𝑎

𝑏

𝑓 𝑥 𝑑𝑥

Page 6: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

La regla se basa en aproximar el valor de la integral de 𝑓(𝑥) por el de la

función lineal que pasa a través de los puntos (𝑎, 𝑓(𝑎)) 𝑦 (𝑏, 𝑓(𝑏)) . La

integral de ésta es igual al área del trapecio bajo la gráfica de la función

lineal. Se sigue que

𝑎

𝑏

𝑓 𝑥 𝑑𝑥 ≈ 𝑏 − 𝑎𝑓 𝑎 + 𝑓 𝑏

2

Page 7: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

y donde el término error corresponde a

Siendo 𝜉 un número perteneciente al intervalo [𝑎, 𝑏].

−𝑏 − 𝑎 3

12𝑓 2 𝜉

Page 8: Método del trapecio en scilab, código integración numérica

Regla de los Trapecios.

Page 9: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

La regla del trapecio compuesta o regla de los trapecios es una forma de

aproximar una integral definida utilizando n trapecios. En la formulación de

este método se supone que 𝑓 es continua y positiva en el intervalo [𝑎, 𝑏]. De tal

modo la integral definida 𝑎𝑏𝑓 𝑥 𝑑𝑥 representa el área de la región delimitada

por la gráfica de 𝑓 y el eje 𝑥, desde 𝑥 = 𝑎 hasta 𝑥 = 𝑏. Primero se divide el

intervalo [𝑎, 𝑏] en n subintervalos, cada uno de ancho ∆𝑥 =𝑏−𝑎

𝑛.

Después de realizar todo el proceso matemático se llega a la siguiente

fórmula:

𝑎

𝑏

𝑓 𝑥 𝑑𝑥 ≈ℎ

2𝑓 𝑎 + 2𝑓 𝑎 + ℎ + 2𝑓 𝑎 + 2ℎ + ⋯+ 𝑓(𝑏)

Page 10: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

Donde ℎ =𝑏−𝑎

𝑛y n es el número de divisiones

La expresión anterior también se puede escribir como:

𝑎

𝑏

𝑓 𝑥 𝑑𝑥 ≈𝑏 − 𝑎

2

𝑓 𝑎 + 𝑓(𝑏)

2+

𝑘=1

𝑛−1

𝑓 𝑎 + 𝑘𝑏 − 𝑎

𝑛

Page 11: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

Page 12: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

El error en esta aproximación se corresponde con :

−𝑏−𝑎 3

12𝑛𝑓 2 𝜉

Siendo n el número de subintervalos

Page 13: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

Ejemplo

123𝑥𝑑𝑥

Primero se obtiene ℎ, de los limites de la integral que representan 𝑎 𝑦 𝑏 y

para 𝑛 = 6 queda:

ℎ =𝑏−𝑎

𝑛=2−1

6=1

6

Page 14: Método del trapecio en scilab, código integración numérica

Regla del trapecio compuesta.

Y ahora se sustituye en la formula

𝑎𝑏𝑓 𝑥 𝑑𝑥 ≈

2𝑓 𝑎 + 2𝑓 𝑎 + ℎ + 2𝑓 𝑎 + 2ℎ +⋯+ 𝑓(𝑏)

Y queda

2

1

1 1 1 1 1 1 13xdx 3 1 2 3 1 1 2 3 1 2 2 3 1 3 2 3 1 4 2 3 1 5 3 2

2 6 6 6 6 6 6

4.5

Page 15: Método del trapecio en scilab, código integración numérica

Algoritmo para el método de los

trapecios. Paso 1.

En primer lugar se divide el intervalo comprendido entre [𝑎, 𝑏] en 𝑁 sub-

intervalos, nombrando al ancho de esos sub-intervalos 𝑑𝑥 (𝑜 𝑑𝑒𝑙𝑡𝑎 𝑑𝑒 𝑋), las

variables 𝑎, 𝑏 𝑦 𝑛 pueden ser ingresadas en medio de la ejecución del

programa con funciones como ‘input’, etc. Recuerden que 𝑏 > 𝑎.

Page 16: Método del trapecio en scilab, código integración numérica

Algoritmo para el método de los

trapecios. Paso 2.

Se realiza la siguiente serie (la sumatoria) a continuación, parece difícil pero

en seguida la desarrollaremos en Scilab, recuerden que el valor de n es el

número de sub-intervalos, así 𝑓(𝑥1), 𝑓(𝑥2), …𝑓(𝑥𝑛) es la función evaluada en

cada sub-intervalo hasta el final.

𝑎

𝑏

𝑓 𝑥 𝑑𝑥 ≈𝑏 − 𝑎

2𝑛𝑓 𝑥0 + 2𝑓 𝑥1 + 2𝑓 𝑥2 +⋯+ 𝑓 𝑥𝑛−1 + 𝑓 𝑥𝑛

Page 17: Método del trapecio en scilab, código integración numérica

Algoritmo para el método de los

trapecios. Paso 2.

Como se puede observar, al principio de la serie tenemos el término que

denominamos 𝑑𝑥 pero divido entre 2, es decir que al inicio de la serie

cuando vayamos a programar el método solo tendremos que hacer 𝑑𝑥/2

multiplicando el resto de la serie, también podemos observar como todos los

términos está multiplicados por 2 excepto el primero y el último término, esto

es importante tenerlo en cuenta para entender el desarrollo del código a

continuación.

Page 18: Método del trapecio en scilab, código integración numérica

Código en Scilab.

Como se puede observar, al principio de la serie tenemos el término que

denominamos 𝑑𝑥 pero divido entre 2, es decir que al inicio de la serie

cuando vayamos a programar el método solo tendremos que hacer 𝑑𝑥/2

multiplicando el resto de la serie, también podemos observar como todos los

términos está multiplicados por 2 excepto el primero y el último término, esto

es importante tenerlo en cuenta para entender el desarrollo del código a

continuación.

Page 19: Método del trapecio en scilab, código integración numérica

Código en Scilab.

Page 20: Método del trapecio en scilab, código integración numérica

Código en Scilab.

A continuación calculamos el primer término de la sumatoria, aquel que

como vemos, no está siendo multiplicado por el 2, y posteriormente hacemos

uso de un ciclo iterativo y cuya variable de control inicia en 2 para evitar el

cálculo del primer y el último termino que no entran en este ciclo, como se

muestra a continuación.

Page 21: Método del trapecio en scilab, código integración numérica

Código en Scilab.

Page 22: Método del trapecio en scilab, código integración numérica

Código en Scilab.

Por último, terminado el ciclo, se procede a calcular el último término de la

serie 𝑓(𝑋𝑛) y se multiplica en la variable ‘area’ por el ‘factor común’

(𝑑𝑥/2) que veíamos fuera de la serie, de esta forma ya se da por terminado

el método como se ve a continuación.

Page 23: Método del trapecio en scilab, código integración numérica

Código en Scilab.

Page 24: Método del trapecio en scilab, código integración numérica

Ejemplo 1.

Para este primer ejemplo vamos a calcular la integral de la función 𝑓(𝑥) =

𝑥², en el intervalo 0 a 1, si realizamos el cálculo analítico de esta integral

sería 𝐹(𝑥) = 𝑥³/3 que evaluada en el intervalo [0,1] debe darnos como

resultado 1/3 o 0.3333, entonces a continuación definimos la función

antes dicha mediante el comando 𝑑𝑒𝑓𝑓() , como vemos ahora,

importante, el nombre de la función debe ser 𝑦 = 𝑓(𝑥):

deff('y=f(x)','y=x^2;')

Page 25: Método del trapecio en scilab, código integración numérica

Ejemplo 1.

luego de definida la función le pasamos los argumentos 𝑎 = 0, 𝑏 = 1 y

usaremos 500 sub-intervalos, es decir 𝑛 = 500 y damos ‘enter’, esto debe

retornar el valor de la integral, como se ve en la imagen:

Page 26: Método del trapecio en scilab, código integración numérica

Ejemplo 1.

Como podemos ver, en primer lugar cargamos la función trapecio.sci al

workspace de Scilab, recuerden que el archivo debe estar en el folder en

el que estemos trabajando en scilab, de lo contrario nos dará un error de

archivo no encontrado, en el segundo paso definimos la función 𝑦 = 𝑓(𝑥)

en nuestro caso será 𝑦 = 𝑥², finalmente llamamos la función con sus límites

de integración y el número de sub-intervalos (𝑛 = 500).

Page 27: Método del trapecio en scilab, código integración numérica

Ejemplo 2.

En este segundo ejemplo, vamos a calcular la integral entre 0 𝑦 𝜋 de 𝑦 =

sin(𝑥) que si la integramos manualmente o le preguntamos a Wolfram

Alpha nos daremos cuenta que su valor real será 2:

Page 28: Método del trapecio en scilab, código integración numérica

Ejemplo 2.

Para este caso realizaremos los mismos pasos que en el anterior ejemplo,

le indicaremos a la función que los límites de integración van de 0 a pi (en

Scilab la contante pi la obtenemos con %pi).

Page 29: Método del trapecio en scilab, código integración numérica

Ejemplo 2.

Como podemos observar (y era de esperarse) el resultado no es

exactamente 2 y esto se debe a que justamente es un método numérico

y la esencia de estos es dar una aproximación (lo más cercana posible) al

resultado correcto, en este caso es bastante acertado y como ya os

había mencionado si aumentamos el valor de N la precisión aumentará

ya que se tomarán más puntos.