Más técnicas de integración
CK-12 and Intel Education

Métodos numéricos para resolver EDO

Objetivos

En esta sección, aprenderás acerca de diversos métodos numéricos que se utilizan para resolver ecuaciones diferenciales ordinarias.

Concepto

A menudo, las ecuaciones diferenciales ordinarias que modelan un sistema son tan complejas que no es posible obtener una solución analítica. En estos casos se pueden utilizar métodos numéricos para obtener una solución aproximada precisa de una ecuación diferencial. Las técnicas numéricas para resolver EDO de 1 er orden están bien establecidas y se abordarán algunas de ellas en esta sección. Vale la pena estudiarlas no solo porque son herramientas importantes para resolver EDO de 1 er orden, si no porque también una EDO de orden mayor a menudo puede ser transformada en un sistema de ecuaciones diferenciales ordinarias de 1 er orden que pueden ser resueltas de forma numérica utilizando los métodos discutidos.

Intenta transformar la EDO de 2 o orden  y^{\prime\prime} (t) +2y^{\prime} =\sin (ty) (condiciones iniciales y(0)=1, y^{\prime}(0)=2 ) en un sistema de dos EDO de 1 er orden haciendo una sustitución simple v(t)=y^{\prime} (t) . ¿Sabes cómo ayuda esta sustitución?

Mira Esto

http://ocw.mit.edu/courses/mathematics/18-03-differential-equations-spring-2010/video-lectures/lecture-2-eulers-numerical-method-for-y-f-x-y/ - MIT OpenCourseWare: Clase 2: Método numérico de Euler y^\prime=f(x,y)

Orientación

En esta sección, se abordan brevemente los siguientes tres métodos numéricos utilizados para resolver ecuaciones diferenciales ordinarias de primer orden:

  1. Método de Euler
  2. Método de Euler (Heun) mejorado
  3. Metódo Runge-Kutta

Se discuten los métodos con el fin de aumentar la precisión.

Recuerda, que la EDO de primer orden es de la forma y^{\prime} =F(x,y) , donde la y^{\prime}  es una función de la variable independiente x  y la variable dependiente y .

Método de Euler

El método de Euler es el método numérico más simple para encontrar una aproximación a la curva solución del problema de valor inicial: y^{\prime}=F(x,y)  con y(x_0)=y_0 . Las aproximaciones de y  son encontradas en N  puntos equidistantes en el intervalo [x_0,x_N] , utilizando el algoritmo:

y_{n+1}=y_n+hF(x_n, y_n) \text{ for } n=0, 1, \dots N-1,

donde  h es el tamaño de paso, dado por h=\frac{x_N-x_0}{N} , y cada x_n  es calculado como x_n=x_0+hn  para n=0,1,\dots N . En general, entre más corto sea el tamaño de paso, mejor es la aproximación a la curva solución.

El método Euler es considerado inificiente debido a la gran cantidad de pasos que se necesitan para lograr una precisión específica. La razón de esto es que la proximación del método Euler y_{n+1}=y_n+hF(x_n,y_n)  se ajusta mejor cuando  y(x) es un polinomio de grado 1.

El error de truncamiento local , e_n , asociado con la utilización del método Euler está dado por

|e_n|=|y_n-y(x_n)|\approx \left|\frac{h^2}{2}\frac{d^2 y}{dx^2}\right|_{x=x_n}\bigg |.

Este es el error de la estimación de Euler de y_n  (en cualquier x_n ) y del valor real de y(x_n) , Este error aumenta según lo hace h^2 .

El error de truncamiento global , E_{0n} , es decir, el error de truncamiento acumulado desde x_0  hasta x_n , es estimado aproximadamente como:

E_{0n}= \sum_{i=1}^n|e_i|=\sum_{i=1}^n\left[\frac{h^2}{2}\frac{d^2y}{dx^2}\bigg|_{x=x_i}\right]<\left(\frac{x_n-x_0}{h}\right)\left(\frac{h^2}{2}M\right)=\left(\frac{x_n-x_0}{2}M\right)h

donde \left|\frac{d^2y}{dx^2}_{max}\right|\le M .

El error de truncamiento global, E_{0n} , aumentará de la misma manera que lo hace h , es decir, linealmente. Esto significa que si dividimos el tamaño de paso, el error será cortado a la mitad. Debido a que el error de truncamiento global es proporcional a la primera potencia del tamaño de paso h , el error global en el método de Euler es de primer orden.

Ejemplo A

Para la EDO  \frac{dy}{dx}=y con la condición inicial y(0)=1 , aplica el método de Euler para aproximar la solución en 5 pasos desde  x=0 hasta x=1 . Ya que la solución exacta es  y=e^x , determina la exactitud relativa.

Solución:

El algoritmo de Euler es el siguiente: y_{n+1}=y_n+hF(x_n,y_n) .

Para este problema: F(x,y)=y , con y(x_0=0)=1=y_0 ;

h=\frac{1-0}{5}=0.2 , de forma que x_n=x_0+0.2n=0.2n  para n=0,1,\dots 5 .

El algoritmo de Euler es: y_{n+1}=y_n+hy_n=(1+h)y_n=1.2y_n

La siguiente tabla proporciona las estimaciones de Euler de los valores de la curva solución en cada x_n .

Tabla de resultados y exactitud del método de Euler

  n

  x_n

y_n e^{x_n} \triangle = e^{x_n}-y_n \frac{\triangle}{e^{x_n}}

0

0

1.0000

1.0000

---

---

1

0.2

1.2000

1.2214

0.0214

0.0175

2

0.4

1.4400

1.4918

0.0518

0.0347

3

0.6

1.7280

1.8221

0.0941

0.0516

4

0.8

2.0736

2.2255

0.1519

0.0682

5

1.0

2.48832

2.71828

0.22996

0.0846

El error relativo es de <9% sobre el intervalo.

Método de Euler (Heun) mejorado

El método de Euler (Heun) mejorado adapta el método de Euler utilizando el resultado del método de Euler como un indicador y luego sacando el promedio con un corrector que estima la derivada en el punto final del intervalo:

y_{n+1}= y_n+\frac{h}{2}[F(x_n,y_n)+F(x_{n+1},y_{n+1})]

Debido a que  y_{n+1}  también aparece en el lado derecho, puede ser reemplazado por la fórmula de Euler, por lo que el método de Euler mejorado se convierte en lo siguiente:

y_{n+1}=y_n+\frac{h}{2}[F(x_n,y_n)+F(x_{n+1},y_n+hF(x_n,y_n))]

El error de truncamiento local del método Heun es h^3 ; el error de truncamiento global es h^2 . El método de Euler (Heun) mejorado es de segundo orden.

Ejemplo B

En la EDO \frac{dy}{dx}=y  con la condición inicial y(0)=1 , aplica el método de Euler (Heun) mejorado para aproximar la solución desde  x=0 hasta x=1 . Deja   h=0.2 . Debido a que la solución exacta es  y=e^x , determina la exactitud relativa.

Solución:

El algoritmo es Euler-Heun es: y_{n+1}=y_n+\frac{h}{2}[F(x_n,y_n)+F(x_{n+1},y_n+hF(x_n,y_n))] .

Para este problema: F(x,y)=y , con y(x_0=0)=1=y_0 ;

h=\frac{1-0}{5}=0.2 , de forma que x_n=x_0+0.2n=0.2n  para n=0,1,\dots 5 .

El algoritmo es Euler-Heun para usar es: y_{n+1}=y_n+\frac{h}{2}[y_n+y_n+hy_n]=[1+h+\frac{h^2}{2}]y_n

y_{n+1}=1.22 \ y_n

La siguiente tabla proporciona las estimaciones de Euler de los valores de la curva solución en cada x_n .

Tabla de resultados y exactitud del método de Euler (Heun) mejorado

  n

  x_n

y_n e^{x_n} \triangle = e^{x_n}-y_n \frac{\triangle}{e^{x_n}}

0

0

1.0000

1.0000

---

---

1

0.2

1.2200

1.2214

0.0014

0.0011

2

0.4

1.4884

1.4918

0.0034

0.0023

3

0.6

1.815848

1.8221

0.0062

0.0034

4

0.8

2.21533456

2.2255

0.0102

0.0046

5

1.0

2.702708163

2.71828

0.0156

0.0057

El error relativo  \left(\frac{\triangle}{e^{x_n}}\right) que se obtiene utilizando el método Euler-Heun es menor que el obtenido con el método de Euler. El error es de <0.6% sobre el intervalo.

Método Runge-Kutta

Los métodos de Runge-Kutta son una familia de métodos iterativos para la aproximación de soluciones de EDO. Existen muchos métodos Runge-Kutta, como también métodos de 2 o , 3 er , y 4 o orden.

La siguiente fórmula corresponde al método Runge-Kutta de 3 er orden:

y_{n+1}&=y_n+\frac{1}{6}h(k_1+4k_2+k_3), \text{ where}\\k_1 &=F(x_n,y_n)\\k_2&=F\left(x_n+\frac{h}{2}, y_n+\frac{k_2h}{2}\right)\\k_3 &=F(x_n+h, y_n-k_1h+2k_2h)

El error de truncamiento local del método Runge-Kutta es h^4 ; el error de truncamiento global es h^3 . Este método Runge-Kutta es de tercer orden.

Ejemplo C

En la EDO \frac{dy}{dx}=y  con la condición inicial y(0)=1 , aplica el algoritmo Runge-Kutta de 3 er orden para aproximar la solución de  x=0 a x=1 . Deja   h=0.2 . Debido a que la solución exacta es  y=e^x , determina la exactitud relativa.

Solución:

El algoritmo Runge-Kutta de 3 er orden es:

y_{n+1}&=y_n+\frac{1}{6}h(k_1+4k_2+k_3), \text{ where}\\k_1 &=F(x_n,y_n)\\k_2 &=F\left(x_n+ \frac{h}{2}, y_n + \frac{k_1h}{2}\right)\\k_3 &= F(x_n+h, y_n-k_1h+2k_2h)

Para este problema: F(x,y)=y , con y(x_0=0)=1=y_0 ;

h=\frac{1-0}{5}=0.2 , de forma que x_n=x_0+0.2n=0.2n  para n=0,1,\dots 5 .

k_1 &=F(x_n,y_n)=y_n\\k_2 &=F\left(x_n+\frac{h}{2},y_n+\frac{k_1h}{2}\right) = y_n + \frac{k_1 h}{2}=\left(1+\frac{h}{2}\right)y_n\\k_3 &=F(x_n+h,y_n-k_1h+2k_2h)=(1+h+h^2)y_n

El algoritmo Runge-Kutta es: y_{n+1}=y_n+\frac{1}{6}h(k_1+4k_2+k_3)=1.221\overline{3}y_n

La siguiente tabla proporciona las estimaciones de Euler para los valores de la curva solución en cada x_n .

  n

  x_n

y_n e^{x_n} \triangle = e^{x_n}-y_n \frac{\triangle}{e^{x_n}}

0

0

1.0000

1.0000

---

---

1

0.2

1.2213

1.2214

0.0001

0.0001

2

0.4

1.4916

1.4918

0.0002

0.0001

3

0.6

1.8216

1.8221

0.0005

0.0003

4

0.8

2.2248

2.2255

0.0007

0.0003

5

1.0

2.7171

2.71828

0.0012

0.0004

Los errores relativos  \left(\frac{\triangle}{e^{x_n}}\right) rd obtenidos mediante el método Runge-Kutta son mucho más bajos que aquellos obtenidos con el método Euler (Heun) mejorado. El error relativo es <0.04%.

Análisis del Problema de la Sección

¿Puedes transformar la EDO de 2 o orden  y^{\prime\prime}(t)+2y^{\prime}=\sin (ty) (condiciones iniciales y(0)=1, y^{\prime}(0)=2 ) en un sistema de dos EDO de 1 er orden haciendo una sustitución simple de la variable dependiente v(t)=y^{\prime}(t) ?

¿Pudiste hacerlo utilizando v(t)=y^{\prime}(t) ?

A continuación se muestra como hacerlo: Ya que v(t)=y^{\prime}(t) , entonces v^{\prime}(t)=y^{\prime\prime}(t) .

Las dos EDO de 1 er orden son:

  1. v(t)=y^{\prime}(t) , con y^{\prime}(0)=2 , y
  2. ecuación original y^{\prime\prime}(t)+2y^{\prime}=\sin (ty)\Rightarrow v^{\prime}+2v=\sin (ty) , con y(0)=1 .

En esta sección se encuentra disponible toda la información para aplicar cualquiera de las técnicas y así resolver el sistema.

Vocabulario

Error de truncamiento local  es la estimación del error introducido en una sola iteración, es decir, y(x_n)-y_n .

Error de truncamiento global  es el error acumulado.

Práctica guiada

Utiliza el método de Euler mejorado con el tamaño de paso h=0.1  para aproximar  y(0.2) para el problema de valor inicial:  y^{\prime}=x+y^2 con y(0)=1 .

Solución:

El algoritmo del método de Euler mejorado es: y_{n+1}=y_n+\frac{h}{2}[F(x_n,y_n)+F(x_{n+1},y_n+hF(x_n,y_n))] .

Para este problema: F(x,y)=x+y^2 , con y(x_0=0)=1=y_0 ;

h=0.1, x_1 & =0.1, x_2=0.2\\F(x_n,y_n) &=x_n+{y_n}^2\\F(x_{n+1},y_n+hF(x_n,y_n))&=x_{n+1}+[ y_n + h ( x_n, {y_n}^2 ) ]^2.

Los pasos del algoritmo del método de Euler mejorado son:

y_1&=y_0+\frac{h}{2}\left[x_0+{y_0}^2+x_1+[y_0+h(x_0+{y_0}^2)]^2\right]\\ &=1+\frac{0.1}{2}[0+1^2+0.1+[1+0.1(0+1^2)]^2]\\y_1 &=1.1155\\y_2 &=y_1+\frac{h}{2}[x_1+{y_1}^2+x_2+[y_1+h(x_1+{y_1}^2)]^2]\\&=1.1155+\frac{0.1}{2}[0.1+1.1155^2+0.2+[1.1155+0.1(0.1+1.1155^2)]^2]\\y_2 &=1.2708

La solución es y(0.2)=y_2=1.2708

Práctica

Escribe la fórmula del método de Euler que se utilizaría para resolver cada EDO:

1. y^{\prime} =2xy  con y(x_0)=y_0

2. y^{\prime}=x-y  con y(x_0)=y_0

3. y^{\prime}=\frac{x}{y}  con y(x_0)=y_0

Utilizando el método de Euler, aproxima la función y  al valor específico de x  para cada uno de los problemas de valor inicial:

4. y^{\prime}=2xy  con y(0)=1  y h=0.1 ; ¿cuál es el error relativo?

5. y^{\prime}=x-y  con y(0)=2  y h=0.1 ; ¿cuál es el error relativo?

6. y^{\prime}=\frac{x}{y}  con y(0)=3  y h=0.1 ; ¿cuál es el error relativo?

Escribe la fórmula del método de Euler mejorado que se utilizaría para resolver cada EDO:

7. y^{\prime} =2xy  con y(x_0)=y_0

8. y^{\prime}=x-y  con y(x_0)=y_0

9. y^{\prime}=\frac{x}{y}  con y(x_0)=y_0

Utilizando el método de Euler mejorado, aproxima la función y  al valor específico de x  para cada uno de los problemas de valor inicial:

10. y^{\prime}=2xy  con y(0)=1  y h=0.1 ; ¿cuál es el error relativo?

11. y^{\prime}=x-y  con y(0)=2  y h=0.1 ; ¿cuál es el error relativo?

12. y^{\prime}=\frac{x}{y}  con y(0)=3  y h=0.1 ; ¿cuál es el error relativo?

Escribe la fórmula del método Runge-Kutta de 3 er orden que se utilizaría para resolver cada EDO:

13. y^{\prime}=2xy  con y(0)=1  y h=0.1

14. y^{\prime}=x-y  con y(0)=2  y h=0.1

15. y^{\prime}=\frac{x}{y}  con y(0)=3  y h=0.1

Licencia

ck12 epub license

Para acceder a una versión personalizada de este libro, así como otros contenidos interactivos, visite www.ck12.org

 

Fundación CK- 12  es una organización sin fines de lucro con la misión de reducir el costo de los materiales de libros de texto para el mercado K- 12, tanto en los EE.UU. así como en todo el mundo. Mediante el uso de contenido libre y un modelo colaborativo basado en la web denominado FlexBook®. CK-12 tiene la intención de ser pioneros en la generación y distribución de contenidos educativos de alta calidad que van a servir como texto base y además proporcionar un entorno para el aprendizaje adaptativo, impulsado a través  de FlexBook Platform®.

Copyright © 2012 CK-12 Foundation, www.ck12.org

Los nombres "CK-12" y "CK12", los logotipos asociados y los términos"FlexBook®" and "FlexBook Platform®" (en adelante "Marcas CK- 12") son marcas comerciales y marcas de servicio de la Fundación    CK- 12 y están protegidos por leyes federales, estatales e internacionales.

Cualquier forma de reproducción de este libro en cualquier formato o medio, en todo o secciones, debe incluir el enlace de atribución de referencia http://www.ck12.org/saythanks (colocado en un lugar visible), además de los siguientes términos.

Con excepción de lo señalado, todo el contenido CK- 12 (incluyendo material de Curriculum CK- 12) se ha puesto a disposición de los usuarios de acuerdo con la licencia Creative Commons Attribution-Non-Commercial 3.0 Unported (CC BY-NC 3.0) License (http://creativecommons.org/licenses/by-nc/3.0/), en su versión modificada y actualizada ("CC License"), que se incorpora al presente por medio de ésta referencia.

Las condiciones completas en su versión en Ingles se pueden encontrar en http://www.ck12.org/terms.

by-nc-na

×