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

Post on 17-Jul-2015

1.185 Views

Category:

Education

16 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Método del Trapecio en

Scilab, Código

Integración Numérica.CLASE 12

14-MARZO-2015

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.

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.

Regla de los Trapecios.

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

puede aproximar mediante n trapecios, en este

caso 4 trapecios.

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

𝑎

𝑏

𝑓 𝑥 𝑑𝑥

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

Regla de los Trapecios.

y donde el término error corresponde a

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

−𝑏 − 𝑎 3

12𝑓 2 𝜉

Regla de los Trapecios.

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ℎ + ⋯+ 𝑓(𝑏)

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

𝑓 𝑎 + 𝑘𝑏 − 𝑎

𝑛

Regla del trapecio compuesta.

Regla del trapecio compuesta.

El error en esta aproximación se corresponde con :

−𝑏−𝑎 3

12𝑛𝑓 2 𝜉

Siendo n el número de subintervalos

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

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

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 𝑏 > 𝑎.

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 + 𝑓 𝑥𝑛

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.

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.

Código en Scilab.

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.

Código en Scilab.

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.

Código en Scilab.

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;')

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:

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).

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:

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).

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.

top related