Matlab Integración
Numérica, Método del
Trapecio
CLASE 12
16-JULIO-2014
Integración Numérica en Matlab
 En ciertas ocasiones nos encontramos con funciones para las que no podemos
hallar una primitiva, esto puede deberse por supuesto a falta de habilidad de
nuestra parte, aunque también ocurre que alguna funciones elementales
simplemente no tienen primitivas que al igual sean funciones elementales que
podamos calcular, por ejemplo, no hay funciones elementales que tengan alguna
de las siguientes como su derivada:
Integración Numérica en Matlab
Funciones que no tienen primitivas, en estos casos se
recurre a los métodos numéricos para integrarlas.
Integración Numérica en Matlab
 Recordemos que :
 Función primitiva o antiderivada de una función dada 𝑓(𝑥), es otra función 𝐹(𝑥)
cuya derivada es la función dada.
 𝐹′(𝑥) = 𝑓(𝑥)
 Si una función 𝑓(𝑥) tiene primitiva, tiene infinitas primitivas, diferenciándose todas
ellas en una constante.
 [𝐹(𝑥) + 𝐶]′ = 𝐹′(𝑥) + 0 = 𝐹′(𝑥) = 𝑓(𝑥)
Integración Numérica en Matlab
 Cuando se desea calcular una integral definida que contiene una función cuya
primitiva no podemos hallar, entonces no se puede aplicar el teorema
fundamental del cálculo y es aquí cuando se debe recurrir a una técnica de
aproximación.
Regla de los Trapecios.
 Una forma de aproximar una integral definida, consiste en usas N trapecios, como
se muestra en la figura 1. En el desarrollo de este método, se supone que f es
continua y positiva en el intervalo [𝑎, 𝑏] y que la integral definida 𝑎
𝑏
𝑓 𝑥 𝑑𝑥
representa el área de la región limitada por la gráfica de 𝑓 y el eje 𝑋, desde 𝑥 =
𝑎 ℎ𝑎𝑠𝑡𝑎 𝑥 = 𝑏.
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 el caso de las aproximaciones de las integrales por el método de los trapecios,
es tan simple tanto en descripción como a nivel de código, como es sabido, es por
esto, que nos limitaremos únicamente a la utilización de la “formula” y los pasos
que se deben seguir para implementar nuestro método; el algoritmo es el
siguiente:
Regla de los Trapecios.
1. En primer lugar se parte el intervalo comprendido entre [𝑎, 𝑏] en subintervalos
más pequeños, definidos por la variable 𝑁 , nombrando el ancho de esos
subintervalos como 𝑑𝑥 (que en nuestro caso representa a 𝑑𝑒𝑙𝑡𝑎 𝑋).
Regla de los Trapecios.
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 𝒅𝒙/𝟐.
Código en Matlab.
 En esto punto crearemos una función en Matlab, que nos permita aproximar aquellas funciones de las
que se habló con anterioridad, manteniendo los criterios ya mencionados en primer lugar, crearemos en
nuestro directorio una función llamada intrap (integrales por trapecios), que recibirá como parámetros, el la
función, el limite inferior y el limite superior; también pudiéramos recibir como parámetro el numero de
subintervalos deseados 𝑵, nosotros lo definimos como 400 ya que por lo regular las regiones a integrar
no son muy grandes, pero la modificación del código es libre y si quieres, puedes modificar también el
parámetro 𝑁 (también se puede hacer, para aumentar la precisión).
Código en Matlab.
Código en Matlab.
 Posteriormente, como dijimos le daremos el valor de 𝑁 = 400 aunque esto
depende de su elección a la hora de montar el programa como recibiendo el
parámetro, en este punto se calcula el valor de 𝑑𝑥 (𝑑𝑒𝑙𝑡𝑎 𝑥) con la formula que se
vio en el punto 1 del algoritmo, también se evalúa el primer termino de la serie, ya
que este no esta multiplicado por 2 y es el resultado de evaluar la expresión 𝑌 en
el limite inferior.
Código en Matlab.
Código en Matlab.
 Ahora se usará un ciclo FOR para contar el número de iteraciones, las cuales
dependerán del número de subintervalos, la variable i se inicia con un valor de 2,
para descontar la evaluación del primer termino que se hizo al inicio del
programa, y para descontar la ultima iteración, que se hará luego de termino el
FOR, ya que esta ultima tampoco esta multiplicada por 2.
Código en Matlab.
Código en Matlab.
 Luego de terminado el ciclo FOR, se procede a hacer la evaluación del n-ésimo
termino, es decir, el ultimo termino, después de esto, como se comentó al final de
algoritmo, se multiplican todos los términos sumados 𝑝𝑜𝑟 𝑑𝑥/2, así:
Código en Matlab.
 Finalmente después de ejecutado todo el código, el programa nos retornará una
buena aproximación de la integral que queremos hallar por más difícil que esta
sea.
Código en Matlab.
 La forma correcta de utilizar esta función, en nuestro caso es, declarando
inicialmente una variable simbólica por ejemplo 𝑡 posteriormente podemos
nombrar una función 𝑓(𝑡) y llamar a la función 𝑖𝑛𝑡𝑟𝑎𝑝(𝑓, 𝑎, 𝑏) donde 𝐴 será el
limite inferior de nuestro intervalo de integración y 𝐵 el superior, el
funcionamiento se ilustra a continuación donde los limites de la función serán de
0 (𝑐𝑒𝑟𝑜) 𝑎 𝑃𝑖.
Código en Matlab.
Código en Matlab.
 El valor exacto, como resultado de llevar a cabo la integración de 𝑠𝑒𝑛 (𝑥) entre
0 𝑦 𝑝𝑖 𝑒𝑠 2; en el ejemplo anterior podemos notar la aproximación llevada a cabo
mediante el método del trapecio.
Código alternativo en Matlab.
 La función integral recibe la función 𝑓(𝑥), los limites 𝑎 𝑦 𝑏 y el número 𝑛 de
trapecios para el cálculo. Hay que definir previamente la función 𝑓(𝑥).
Código alternativo en Matlab.
Código alternativo en Matlab.
 Ejemplo
 Evalué la siguiente integral −3
5
1 − 𝑥 − 4𝑥3
+ 3𝑥5
𝑑𝑥
a. Analíticamente
b. Con el uso de la herramienta Matlab
Código alternativo en Matlab.
 Primero declaramos la función 𝑓(𝑥)
Código alternativo en Matlab.
 Segundo ejecución y resultado 𝑝𝑎𝑟𝑎 𝑎 = −3, 𝑏 = 5 𝑦 𝑛 = 200

Matlab INIT

  • 1.
    Matlab Integración Numérica, Métododel Trapecio CLASE 12 16-JULIO-2014
  • 2.
    Integración Numérica enMatlab  En ciertas ocasiones nos encontramos con funciones para las que no podemos hallar una primitiva, esto puede deberse por supuesto a falta de habilidad de nuestra parte, aunque también ocurre que alguna funciones elementales simplemente no tienen primitivas que al igual sean funciones elementales que podamos calcular, por ejemplo, no hay funciones elementales que tengan alguna de las siguientes como su derivada:
  • 3.
    Integración Numérica enMatlab Funciones que no tienen primitivas, en estos casos se recurre a los métodos numéricos para integrarlas.
  • 4.
    Integración Numérica enMatlab  Recordemos que :  Función primitiva o antiderivada de una función dada 𝑓(𝑥), es otra función 𝐹(𝑥) cuya derivada es la función dada.  𝐹′(𝑥) = 𝑓(𝑥)  Si una función 𝑓(𝑥) tiene primitiva, tiene infinitas primitivas, diferenciándose todas ellas en una constante.  [𝐹(𝑥) + 𝐶]′ = 𝐹′(𝑥) + 0 = 𝐹′(𝑥) = 𝑓(𝑥)
  • 5.
    Integración Numérica enMatlab  Cuando se desea calcular una integral definida que contiene una función cuya primitiva no podemos hallar, entonces no se puede aplicar el teorema fundamental del cálculo y es aquí cuando se debe recurrir a una técnica de aproximación.
  • 6.
    Regla de losTrapecios.  Una forma de aproximar una integral definida, consiste en usas N trapecios, como se muestra en la figura 1. En el desarrollo de este método, se supone que f es continua y positiva en el intervalo [𝑎, 𝑏] y que la integral definida 𝑎 𝑏 𝑓 𝑥 𝑑𝑥 representa el área de la región limitada por la gráfica de 𝑓 y el eje 𝑋, desde 𝑥 = 𝑎 ℎ𝑎𝑠𝑡𝑎 𝑥 = 𝑏.
  • 7.
    Regla de losTrapecios. Figura 1: Función 𝑌(𝑥), el área bajo la curva, se puede aproximar mediante n trapecios, en este caso 4 trapecios.
  • 8.
    Regla de losTrapecios.  En el caso de las aproximaciones de las integrales por el método de los trapecios, es tan simple tanto en descripción como a nivel de código, como es sabido, es por esto, que nos limitaremos únicamente a la utilización de la “formula” y los pasos que se deben seguir para implementar nuestro método; el algoritmo es el siguiente:
  • 9.
    Regla de losTrapecios. 1. En primer lugar se parte el intervalo comprendido entre [𝑎, 𝑏] en subintervalos más pequeños, definidos por la variable 𝑁 , nombrando el ancho de esos subintervalos como 𝑑𝑥 (que en nuestro caso representa a 𝑑𝑒𝑙𝑡𝑎 𝑋).
  • 10.
    Regla de losTrapecios. 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 𝒅𝒙/𝟐.
  • 11.
    Código en Matlab. En esto punto crearemos una función en Matlab, que nos permita aproximar aquellas funciones de las que se habló con anterioridad, manteniendo los criterios ya mencionados en primer lugar, crearemos en nuestro directorio una función llamada intrap (integrales por trapecios), que recibirá como parámetros, el la función, el limite inferior y el limite superior; también pudiéramos recibir como parámetro el numero de subintervalos deseados 𝑵, nosotros lo definimos como 400 ya que por lo regular las regiones a integrar no son muy grandes, pero la modificación del código es libre y si quieres, puedes modificar también el parámetro 𝑁 (también se puede hacer, para aumentar la precisión).
  • 12.
  • 13.
    Código en Matlab. Posteriormente, como dijimos le daremos el valor de 𝑁 = 400 aunque esto depende de su elección a la hora de montar el programa como recibiendo el parámetro, en este punto se calcula el valor de 𝑑𝑥 (𝑑𝑒𝑙𝑡𝑎 𝑥) con la formula que se vio en el punto 1 del algoritmo, también se evalúa el primer termino de la serie, ya que este no esta multiplicado por 2 y es el resultado de evaluar la expresión 𝑌 en el limite inferior.
  • 14.
  • 15.
    Código en Matlab. Ahora se usará un ciclo FOR para contar el número de iteraciones, las cuales dependerán del número de subintervalos, la variable i se inicia con un valor de 2, para descontar la evaluación del primer termino que se hizo al inicio del programa, y para descontar la ultima iteración, que se hará luego de termino el FOR, ya que esta ultima tampoco esta multiplicada por 2.
  • 16.
  • 17.
    Código en Matlab. Luego de terminado el ciclo FOR, se procede a hacer la evaluación del n-ésimo termino, es decir, el ultimo termino, después de esto, como se comentó al final de algoritmo, se multiplican todos los términos sumados 𝑝𝑜𝑟 𝑑𝑥/2, así:
  • 18.
    Código en Matlab. Finalmente después de ejecutado todo el código, el programa nos retornará una buena aproximación de la integral que queremos hallar por más difícil que esta sea.
  • 19.
    Código en Matlab. La forma correcta de utilizar esta función, en nuestro caso es, declarando inicialmente una variable simbólica por ejemplo 𝑡 posteriormente podemos nombrar una función 𝑓(𝑡) y llamar a la función 𝑖𝑛𝑡𝑟𝑎𝑝(𝑓, 𝑎, 𝑏) donde 𝐴 será el limite inferior de nuestro intervalo de integración y 𝐵 el superior, el funcionamiento se ilustra a continuación donde los limites de la función serán de 0 (𝑐𝑒𝑟𝑜) 𝑎 𝑃𝑖.
  • 20.
  • 21.
    Código en Matlab. El valor exacto, como resultado de llevar a cabo la integración de 𝑠𝑒𝑛 (𝑥) entre 0 𝑦 𝑝𝑖 𝑒𝑠 2; en el ejemplo anterior podemos notar la aproximación llevada a cabo mediante el método del trapecio.
  • 22.
    Código alternativo enMatlab.  La función integral recibe la función 𝑓(𝑥), los limites 𝑎 𝑦 𝑏 y el número 𝑛 de trapecios para el cálculo. Hay que definir previamente la función 𝑓(𝑥).
  • 23.
  • 24.
    Código alternativo enMatlab.  Ejemplo  Evalué la siguiente integral −3 5 1 − 𝑥 − 4𝑥3 + 3𝑥5 𝑑𝑥 a. Analíticamente b. Con el uso de la herramienta Matlab
  • 25.
    Código alternativo enMatlab.  Primero declaramos la función 𝑓(𝑥)
  • 26.
    Código alternativo enMatlab.  Segundo ejecución y resultado 𝑝𝑎𝑟𝑎 𝑎 = −3, 𝑏 = 5 𝑦 𝑛 = 200