![Page 1: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/1.jpg)
Curso de M etodos Num ericos.Ecuaciones diferenciales ordinarias
Curso : Metodos Numericos en Ingenierıa
Profesor : Dr. Jose A. Otero Hernandez
Universidad : ITESM CEM
Fecha : Lunes, 11 de noviembre de 2014
![Page 2: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/2.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Topicos
1 Introducci on
2 Metodo de EulerEjemploError de truncamiento del metodo de Euler
3 Metodo de HeunEjemplo 2
4 Programa MATLAB
![Page 3: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/3.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Topicos
1 Introducci on
2 Metodo de EulerEjemploError de truncamiento del metodo de Euler
3 Metodo de HeunEjemplo 2
4 Programa MATLAB
![Page 4: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/4.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasEn esta clase nos dedicaremos a la solucion de ecuacionesdiferenciales ordinarias de la forma:
dy
dx= f(x, y)
Anteriormente se utilizo un metodo numerico para resolver unaecuacion como la anterior (caso de la velocidad delparacaidista).En este caso se utilizo el metodo:Nuevo valor = valor anterior + pendiente × tamano
![Page 5: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/5.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasEn esta clase nos dedicaremos a la solucion de ecuacionesdiferenciales ordinarias de la forma:
dy
dx= f(x, y)
Anteriormente se utilizo un metodo numerico para resolver unaecuacion como la anterior (caso de la velocidad delparacaidista).En este caso se utilizo el metodo:Nuevo valor = valor anterior + pendiente × tamano
![Page 6: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/6.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasEn esta clase nos dedicaremos a la solucion de ecuacionesdiferenciales ordinarias de la forma:
dy
dx= f(x, y)
Anteriormente se utilizo un metodo numerico para resolver unaecuacion como la anterior (caso de la velocidad delparacaidista).En este caso se utilizo el metodo:Nuevo valor = valor anterior + pendiente × tamano
![Page 7: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/7.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasMatematicamente:
yi+1 = yi + φh
φ es la pendiente estimada. La pendiente estimada seutiliza para extrapolar desde el valor anterior yi = y(xi) aun nuevo valor yi+1 = y(xi+1) a una distancia h.
Esta formula se aplica paso a paso para buscar los valoresde y posteriores.
Todos los metodos de un paso que se expresen de estaforma se diferencian solamente por la manera en la que seestime la pendiente.
![Page 8: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/8.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasMatematicamente:
yi+1 = yi + φh
φ es la pendiente estimada. La pendiente estimada seutiliza para extrapolar desde el valor anterior yi = y(xi) aun nuevo valor yi+1 = y(xi+1) a una distancia h.
Esta formula se aplica paso a paso para buscar los valoresde y posteriores.
Todos los metodos de un paso que se expresen de estaforma se diferencian solamente por la manera en la que seestime la pendiente.
![Page 9: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/9.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasMatematicamente:
yi+1 = yi + φh
φ es la pendiente estimada. La pendiente estimada seutiliza para extrapolar desde el valor anterior yi = y(xi) aun nuevo valor yi+1 = y(xi+1) a una distancia h.
Esta formula se aplica paso a paso para buscar los valoresde y posteriores.
Todos los metodos de un paso que se expresen de estaforma se diferencian solamente por la manera en la que seestime la pendiente.
![Page 10: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/10.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ecuaciones diferenciales ordinariasMatematicamente:
yi+1 = yi + φh
φ es la pendiente estimada. La pendiente estimada seutiliza para extrapolar desde el valor anterior yi = y(xi) aun nuevo valor yi+1 = y(xi+1) a una distancia h.
Esta formula se aplica paso a paso para buscar los valoresde y posteriores.
Todos los metodos de un paso que se expresen de estaforma se diferencian solamente por la manera en la que seestime la pendiente.
![Page 11: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/11.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodos de un paso
Metodo de Euler
Metodo de Heun
![Page 12: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/12.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Topicos
1 Introducci on
2 Metodo de EulerEjemploError de truncamiento del metodo de Euler
3 Metodo de HeunEjemplo 2
4 Programa MATLAB
![Page 13: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/13.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de EulerDada la ecuacion diferencial:
dy
dx= f(x, y)
Se puede encontrar la solucion como:
yi+1 = yi + f(xi, yi) h
Esta formula se conoce como metodo de Euler.
![Page 14: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/14.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de Euler
![Page 15: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/15.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo
Ejemplo
Con el metodo de Euler resuelva numericamente la ecuacion:
dy
dx= −2x3 + 12x2 − 20x + 8.5
desde x = 0 hasta x = 4 con un tamano de paso de 0.5. Lacondicion inicial en x = 0 es y = 1. Calcule el error relativoverdadero si se conoce que la solucion exacta es:
y = −0.5x4 + 4x3 − 10x2 + 8.5x + 1
![Page 16: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/16.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo
Soluci on ejemplo
c lear ; clc ;h =0 .5 ;x = [ 0 : h : 4 ] ;n= length ( x ) ;f = i n l i n e ( ’−2∗xˆ3+12∗xˆ2−20∗x+8.5 ’ , ’ x ’ , ’ y ’ ) ;y exacto= i n l i n e ( ’−0.5∗x ˆ4+4∗xˆ3−10∗x ˆ2+8.5∗ x+1 ’ , ’ x ’ ) ;y ( 1 ) =1;ev ( 1 ) =abs ( y ( 1 )−y exacto ( x ( 1 ) ) ) / y exacto ( x ( 1 ) ) ∗100;fo r i =2:n
y ( i ) =y ( i −1)+ f ( x ( i −1) , y ( i −1) ) ∗h ;ev ( i ) =abs ( y ( i )−y exacto ( x ( i ) ) ) / y exacto ( x ( i ) ) ∗100;
ends a l i d a =[ x ’ y ’ ev ’ ] ;disp ( s a l i d a )ezp lo t ( y exacto , [ 0 , 4 , 0 , 7 . 5 ] ) ;hold onplo t ( x , y , ’ o ’ )
![Page 17: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/17.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo
Soluci on ejemplo
x y Er ro r0 1.0000 00.5000 5.2500 63.10681.0000 5.8750 95.83331.5000 5.1250 130.98592.0000 4.5000 125.00002.5000 4.7500 74.71263.0000 5.8750 46.87503.5000 7.1250 50.99344.0000 7.0000 133.3333
![Page 18: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/18.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo
Soluci on ejemplo
![Page 19: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/19.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo
Soluci on ejemplo
![Page 20: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/20.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Error de truncamientoSerie de Taylor
yi+1 = yi + y′ih +
y′′i
2!h2 + · · ·
donde h = xi+1 − xi. Pero y′i = f(xi, yi), entonces:
yi+1 = yi + f(xi, yi)h +f
′(xi, yi)2!
h2 + · · ·
Error de truncamiento
εt =f
′(xi, yi)2!
h2
![Page 21: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/21.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Error de truncamientoSerie de Taylor
yi+1 = yi + y′ih +
y′′i
2!h2 + · · ·
donde h = xi+1 − xi. Pero y′i = f(xi, yi), entonces:
yi+1 = yi + f(xi, yi)h +f
′(xi, yi)2!
h2 + · · ·
Error de truncamiento
εt =f
′(xi, yi)2!
h2
![Page 22: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/22.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Error de truncamientoSerie de Taylor
yi+1 = yi + y′ih +
y′′i
2!h2 + · · ·
donde h = xi+1 − xi. Pero y′i = f(xi, yi), entonces:
yi+1 = yi + f(xi, yi)h +f
′(xi, yi)2!
h2 + · · ·
Error de truncamiento
εt =f
′(xi, yi)2!
h2
![Page 23: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/23.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Soluci on ejemplo
c lear ; clc ;h =0 .5 ;x = [ 0 : h : 4 ] ;n= length ( x ) ;f = i n l i n e ( ’−2∗xˆ3+12∗xˆ2−20∗x+8.5 ’ , ’ x ’ , ’ y ’ )fD= i n l i n e ( d i f f ( sym( ’−2∗xˆ3+12∗xˆ2−20∗x+8.5 ’ ) ) , ’ x ’ , ’ y ’ ) ;y exacto= i n l i n e ( ’−0.5∗x ˆ4+4∗xˆ3−10∗x ˆ2+8.5∗ x+1 ’ , ’ x ’ ) ;y ( 1 ) =1;fo r i =2:n
y ( i ) =y ( i −1)+ f ( x ( i −1) , y ( i −1) ) ∗h ;ev ( i ) =abs ( y ( i )−y exacto ( x ( i ) ) ) / y exacto ( x ( i ) ) ∗100;e t ( i ) =fD ( x ( i −1) , y ( i −1) ) /2∗h ˆ 2 ;
ends a l i d a =[ x ( 2 : n ) ’ y ( 2 : n ) ’ ev ( 2 : n ) ’ e t ( 2 : n ) ’ ] ;disp ( s a l i d a )
![Page 24: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/24.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Soluci on ejemplo con h = 0.5
x y ErrorVer ErrorTrun0.5000 5.2500 63.1068 −2.50001.0000 5.8750 95.8333 −1.18751.5000 5.1250 130.9859 −0.25002.0000 4.5000 125.0000 0.31252.5000 4.7500 74.7126 0.50003.0000 5.8750 46.8750 0.31253.5000 7.1250 50.9934 −0.25004.0000 7.0000 133.3333 −1.1875
![Page 25: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/25.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Error de truncamiento del m etodo de Euler
Soluci on ejemplo con h = 0.25
x y ErrorVer ErrorTrun0.2500 3.1250 22.0442 −0.62500.5000 4.1797 29.8544 −0.44920.7500 4.4922 36.9863 −0.29691.0000 4.3438 44.7917 −0.16801.2500 3.9688 53.1274 −0.06251.5000 3.5547 60.2113 0.01951.7500 3.2422 62.2678 0.07812.0000 3.1250 56.2500 0.11332.2500 3.2500 44.5699 0.12502.5000 3.6172 33.0460 0.11332.7500 4.1797 25.0731 0.07813.0000 4.8438 21.0938 0.01953.2500 5.4688 20.7417 −0.06253.5000 5.8672 24.3377 −0.16803.7500 5.8047 34.6624 −0.29694.0000 5.0000 66.6667 −0.4492
![Page 26: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/26.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Topicos
1 Introducci on
2 Metodo de EulerEjemploError de truncamiento del metodo de Euler
3 Metodo de HeunEjemplo 2
4 Programa MATLAB
![Page 27: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/27.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de HeunDada la ecuacion diferencial:
dy
dx= f(x, y)
Se puede encontrar la solucion como:
y0i+1 = yi + f(xi, yi) h
yi+1 = yi +f(xi, yi) + f(xi+1, y
0i+1)
2h
![Page 28: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/28.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de Heun
![Page 29: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/29.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo 2
Ejemplo 2
Con el metodo de Heun resuelva numericamente la ecuacion:
dy
dx= −2x3 + 12x2 − 20x + 8.5
desde x = 0 hasta x = 4 con un tamano de paso de 0.5. Lacondicion inicial en x = 0 es y = 1. Calcule el error relativoverdadero si se conoce que la solucion exacta es:
y = −0.5x4 + 4x3 − 10x2 + 8.5x + 1
![Page 30: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/30.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo 2
Soluci on ejemplo 2
c lear ; clc ;h =0 .5 ;x = [ 0 : h : 4 ] ;n= length ( x ) ;f = i n l i n e ( ’−2∗xˆ3+12∗xˆ2−20∗x+8.5 ’ , ’ x ’ , ’ y ’ ) ;y exacto= i n l i n e ( ’−0.5∗x ˆ4+4∗xˆ3−10∗x ˆ2+8.5∗ x+1 ’ , ’ x ’ ) ;y ( 1 ) =1;ev ( 1 ) =abs ( y ( 1 )−y exacto ( x ( 1 ) ) ) / y exacto ( x ( 1 ) ) ∗100;fo r i =2:n
y0 ( i ) =y ( i −1)+ f ( x ( i −1) , y ( i −1) ) ∗h ;y ( i ) =y ( i −1)+( f ( x ( i −1) , y ( i −1) ) + f ( x ( i ) , y0 ( i ) ) ) /2∗h ;ev ( i ) =abs ( y ( i )−y exacto ( x ( i ) ) ) / y exacto ( x ( i ) ) ∗100;
ends a l i d a =[ x ’ y ’ ev ’ ] ;disp ( s a l i d a )% ezp lo t ( y exacto , [ 0 , 4 , 0 , 7 . 5 ] ) ;% hold onplo t ( x , y , ’ ∗ ’ )
![Page 31: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/31.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo 2
Soluci on ejemplo 2
x y ErrorVerd0 1.0000 00.5000 3.4375 6.79611.0000 3.3750 12.50001.5000 2.6875 21.12682.0000 2.5000 25.00002.5000 3.1875 17.24143.0000 4.3750 9.37503.5000 4.9375 4.63584.0000 3.0000 0
![Page 32: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/32.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Ejemplo 2
Soluci on ejemplo 2
![Page 33: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/33.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Topicos
1 Introducci on
2 Metodo de EulerEjemploError de truncamiento del metodo de Euler
3 Metodo de HeunEjemplo 2
4 Programa MATLAB
![Page 34: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/34.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de Euler
funct ion edoeuler (F , x0 , xf , y0 , h )f = i n l i n e (F , ’ x ’ , ’ y ’ ) ;x =[ x0 : h : x f ] ’ ; n = length ( x ) ;i f x ( n )<x f
x ( n+1) = x f ;n = n+1;
endy = y0∗ones ( n , 1 ) ;fo r i = 1 : n−1y ( i +1) = y ( i ) + f ( x ( i ) , y ( i ) ) ∗ ( x ( i +1)−x ( i ) ) ;endfD= i n l i n e ( d i f f ( sym(F) ) , ’ x ’ , ’ y ’ ) ;fo r i i =1:n
e t ( i i ) =fD ( x ( i i ) , y ( i i ) ) /2∗hˆ2ends a l i d a =[ x y et ’ ] ;disp ( s a l i d a )
![Page 35: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/35.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Soluci on ejemplo
x y0 1.00000.5000 5.25001.0000 5.87501.5000 5.12502.0000 4.50002.5000 4.75003.0000 5.87503.5000 7.12504.0000 7.0000
![Page 36: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/36.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Metodo de Heun
funct ion edoheun (F , x0 , xf , y0 , h )f = i n l i n e (F , ’ x ’ , ’ y ’ ) ;x =[ x0 : h : x f ] ’ ; n = length ( x ) ;i f x ( n )<x f
x ( n+1) = x f ;n = n+1;
endy = y0∗ones ( n , 1 ) ;fo r i = 1 : n−1
y00 ( i +1)=y ( i ) + f ( x ( i ) , y ( i ) ) ∗ ( x ( i +1)−x ( i ) ) ;y ( i +1) = y ( i ) + ( f ( x ( i ) , y ( i ) ) + f ( x ( i +1) , y00 ( i +1) ) )
/ 2∗ ( x ( i +1)−x ( i ) ) ;ends a l i d a =[ x y ] ;disp ( s a l i d a )
![Page 37: Curso de Métodos Numéricos. Ecuaciones diferenciales ...metodosnumericoscem.weebly.com/.../mn_clase22_ecuaciones_difere… · Curso de Metodos Num´ ericos.´ Ecuaciones diferenciales](https://reader033.vdocuments.pub/reader033/viewer/2022051010/5abdaa767f8b9ac0598c2470/html5/thumbnails/37.jpg)
Introducci on Metodo de Euler Metodo de Heun Programa MATLAB
Soluci on ejemplo
x y0 1.00000.5000 3.43751.0000 3.37501.5000 2.68752.0000 2.50002.5000 3.18753.0000 4.37503.5000 4.93754.0000 3.0000