Método del trapecio en scilab, código integración numérica
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/1.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/4.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/6.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/8.jpg)
Regla de los Trapecios.
![Page 9: Método del trapecio en scilab, código integración numérica](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/10.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/11.jpg)
Regla del trapecio compuesta.
![Page 12: Método del trapecio en scilab, código integración numérica](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/15.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/16.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/17.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/18.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/19.jpg)
Código en Scilab.
![Page 20: Método del trapecio en scilab, código integración numérica](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/20.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/21.jpg)
Código en Scilab.
![Page 22: Método del trapecio en scilab, código integración numérica](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/22.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/23.jpg)
Código en Scilab.
![Page 24: Método del trapecio en scilab, código integración numérica](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/24.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/25.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/26.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/27.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/28.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050615/55a887fc1a28abcc288b45b9/html5/thumbnails/29.jpg)
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.