20
Ecuaciones Diferenciales Ordinarias

Ecuaciones Diferenciales Ordinarias - her.itesm.mx · Ecuaciones Diferenciales Ordinarias Los métodos numéricos usados en la solución de las Ecuaciones Diferenciales Ordinarias

  • Upload
    lamcong

  • View
    278

  • Download
    2

Embed Size (px)

Citation preview

Ecuaciones Diferenciales Ordinarias

Contenido

• Ecuaciones Diferenciales Ordinarias• Método de Euler Simple• Métodos de Runge-Kutta

Ecuaciones Diferenciales Ordinarias

Los métodos numéricos usados en la solución de las Ecuaciones Diferenciales Ordinarias son:

1. Método de Euler Simple2. Métodos de Runge-Kutta

Una ecuación diferencial ordinaria se puede representar como:𝒅𝒅𝒅𝒅𝒅𝒅𝒅𝒅

= 𝒇𝒇(𝒅𝒅,𝒅𝒅) (1)

con la condición inicial:𝒅𝒅 𝒅𝒅𝟎𝟎 = 𝒅𝒅𝟎𝟎 (2)

Ecuaciones Diferenciales Ordinarias

Dado un punto (𝒅𝒅𝟎𝟎,𝒅𝒅𝟎𝟎) y la ecuación diferencial𝒅𝒅′ = 𝒅𝒅𝒅𝒅

𝒅𝒅𝒅𝒅= 𝒇𝒇(𝒅𝒅,𝒅𝒅) (3)

encontrar la función (desconocida) 𝒅𝒅(𝒅𝒅) que pase a través de el punto (𝒅𝒅𝟎𝟎,𝒅𝒅𝟎𝟎) y tenga la derivada 𝒅𝒅𝒚(𝒅𝒅) = 𝒇𝒇(𝒅𝒅,𝒅𝒅).La forma general para resolver la ecuación diferencial por métodos numéricos sería:

Nuevo valor = valor anterior + pendiente x tamaño de pesoo en términos matemáticos𝒅𝒅𝒊𝒊+𝟏𝟏 = 𝒅𝒅𝒊𝒊 + 𝝓𝝓𝝓𝝓 (4)

De acuerdo a esta ecuación, la pendiente estimada 𝒇𝒇 se usa para extrapolar desde un valor anterior 𝒅𝒅𝒊𝒊 a un valor nuevo 𝒅𝒅𝒊𝒊+𝟏𝟏 en una distancia 𝝓𝝓. Esta fórmula se puede aplicar paso a paso para calcular el valor en el futuro 𝒅𝒅, por tanto, trazar la trayectoria de la solución.

Método de Euler Simple

La primer derivada proporciona una estimación directa de la pendiente en 𝒅𝒅𝒊𝒊:𝝓𝝓 = 𝒇𝒇(𝒅𝒅𝒊𝒊 + 𝒅𝒅𝒊𝒊) (5)

donde 𝒇𝒇(𝒅𝒅𝒊𝒊 + 𝒅𝒅𝒊𝒊) es la ecuación diferencial evaluada en 𝒅𝒅𝒊𝒊 y 𝒅𝒅𝒊𝒊. Tal estimación podrá sustituirse en la ecuación (4):𝒅𝒅𝒊𝒊+𝟏𝟏 = 𝒅𝒅𝒊𝒊 + 𝝓𝝓𝒇𝒇(𝒅𝒅𝒊𝒊 + 𝒅𝒅𝒊𝒊) (6)

Esta fórmula es conocida como el método de Euler (o de Euler-Cauchyo de punto medio). Se predice un valor nuevo de 𝒅𝒅 por medio de la pendiente (igual a la primera derivada en el valor original de 𝒅𝒅) que habrá de extrapolarse en forma lineal sobre el tamaño de paso 𝝓𝝓.

Métodos de Runge-Kutta

Los métodos de Runge-Kutta utilizan la ecuación (4) para encontrar el Nuevo valor pero cambian la forma de calcular la pendiente estimada 𝝓𝝓.

𝒅𝒅𝒊𝒊+𝟏𝟏 = 𝒅𝒅𝒊𝒊 + 𝝓𝝓𝝓𝝓

Métodos de Runge-Kutta

Runge-Kutta de 2do Orden

donde 𝒌𝒌𝟏𝟏 y 𝒌𝒌𝟐𝟐 son valores de 𝒇𝒇(𝒅𝒅,𝒅𝒅) en algunos lugares 𝒅𝒅𝒊𝒊 ≤ 𝒅𝒅 ≤ 𝒅𝒅𝒊𝒊+𝟏𝟏

𝜙𝜙 = 𝑎𝑎𝑘𝑘1 + 𝑏𝑏𝑘𝑘2

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ(𝑎𝑎𝑘𝑘1 + 𝑏𝑏𝑘𝑘2)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖) 𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 𝑝𝑝ℎ,𝑦𝑦𝑖𝑖 + 𝑞𝑞ℎ𝑘𝑘1)1) 𝑎𝑎 + 𝑏𝑏 = 1

2) 𝑏𝑏𝑝𝑝 =12

3) 𝑏𝑏𝑞𝑞 =12

Métodos de Runge-Kutta

Case A. Si 𝒃𝒃 = 𝟏𝟏/𝟐𝟐, obtenemos (método conocido como Euler Mejorado):

𝑏𝑏 =12⇒

𝑎𝑎 =12

𝑝𝑝 = 1𝑞𝑞 = 1

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +ℎ2𝑘𝑘1 + 𝑘𝑘2 ; 𝑖𝑖 = 0, … 𝑦𝑦0 = 𝑦𝑦(𝑥𝑥0)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖) 𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ,𝑦𝑦𝑖𝑖 + ℎ𝑘𝑘1)

Métodos de Runge-Kutta

Case B. Si 𝒃𝒃 = 𝟏𝟏, obtenemos (método conocido como Euler Modificado):

𝑏𝑏 = 1 ⇒

𝑎𝑎 = 0

𝑝𝑝 =12

𝑞𝑞 =12

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ𝑘𝑘2; 𝑖𝑖 = 0, … 𝑦𝑦0 = 𝑦𝑦(𝑥𝑥0)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖) 𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +12ℎ,𝑦𝑦𝑖𝑖 +

12ℎ𝑘𝑘1)

Métodos de Runge-Kutta

Runge-Kutta de 3er Orden

donde 𝒌𝒌𝟏𝟏, 𝒌𝒌𝟐𝟐 y 𝒌𝒌𝟑𝟑 donde 𝒇𝒇(𝒅𝒅,𝒅𝒅) en algunos lugares 𝒅𝒅𝒊𝒊 ≤ 𝒅𝒅 ≤ 𝒅𝒅𝒊𝒊+𝟏𝟏

𝜙𝜙 = 𝑎𝑎𝑘𝑘1 + 𝑏𝑏𝑘𝑘2 + 𝑐𝑐𝑘𝑘3

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ(𝑎𝑎𝑘𝑘1 + 𝑏𝑏𝑘𝑘2 + 𝑐𝑐𝑘𝑘3)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖) 𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 𝑝𝑝ℎ,𝑦𝑦𝑖𝑖 + 𝑝𝑝ℎ𝑘𝑘1)

1) 𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 = 1 2) 𝑏𝑏𝑝𝑝 + 𝑐𝑐𝑐𝑐 =12

3) 𝑏𝑏𝑝𝑝2 + 𝑐𝑐𝑐𝑐2 =12

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 𝑐𝑐ℎ,𝑦𝑦𝑖𝑖 + 𝑠𝑠ℎ𝑘𝑘2 + 𝑐𝑐 − 𝑠𝑠 ℎ𝑘𝑘1)

4) 𝑐𝑐𝑝𝑝𝑠𝑠 =16

Métodos de Runge-Kutta

Una de las soluciones a estas cuatro ecuaciones nos da los siguientes valores de 𝒌𝒌:

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +ℎ6

(𝑘𝑘1 + 4𝑘𝑘2 + 𝑘𝑘3); 𝑖𝑖 = 0, … 𝑦𝑦0 = 𝑦𝑦(𝑥𝑥0)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖)

𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +12ℎ,𝑦𝑦𝑖𝑖 +

12ℎ𝑘𝑘1)

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ,𝑦𝑦𝑖𝑖 + 2ℎ𝑘𝑘2 − ℎ𝑘𝑘1)

Métodos de Runge-Kutta

Runge-Kutta de 4to Orden

donde 𝒌𝒌𝟏𝟏, 𝒌𝒌𝟐𝟐 and 𝒌𝒌𝟑𝟑 son valores de 𝒇𝒇(𝒅𝒅,𝒅𝒅) en algunos lugares 𝒅𝒅𝒊𝒊 ≤𝒅𝒅 ≤ 𝒅𝒅𝒊𝒊+𝟏𝟏

𝜙𝜙 = 𝑎𝑎𝑘𝑘1 + 𝑏𝑏𝑘𝑘2 + 𝑐𝑐𝑘𝑘3 + 𝑑𝑑𝑘𝑘4

Métodos de Runge-Kutta

Caso A.

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +ℎ6

(𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4); 𝑖𝑖 = 0, … 𝑦𝑦0 = 𝑦𝑦(𝑥𝑥0)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖)

𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +12ℎ,𝑦𝑦𝑖𝑖 +

12ℎ𝑘𝑘1)

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +12ℎ,𝑦𝑦𝑖𝑖 +

12ℎ𝑘𝑘2)

𝑘𝑘4 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ,𝑦𝑦𝑖𝑖 + ℎ𝑘𝑘3)

Métodos de Runge-Kutta

Caso B.

∴ 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +ℎ8

(𝑘𝑘1 + 3𝑘𝑘2 + 3𝑘𝑘3 + 𝑘𝑘4); 𝑖𝑖 = 0, … 𝑦𝑦0 = 𝑦𝑦(𝑥𝑥0)

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝑦𝑦𝑖𝑖)

𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +13ℎ,𝑦𝑦𝑖𝑖 +

13ℎ𝑘𝑘1)

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 +23ℎ,𝑦𝑦𝑖𝑖 + ℎ𝑘𝑘2 −

13ℎ𝑘𝑘1)

𝑘𝑘4 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ,𝑦𝑦𝑖𝑖 + ℎ𝑘𝑘3 − ℎ𝑘𝑘2 + ℎ𝑘𝑘1)

Problemas

1. Resuelva la siguiente ecuación diferencial por los métodos:a) Euler Simpleb) Runge-Kutta 2do Orden (Euler Mejorado)c) Runge-Kutta 2do Orden (Euler Modificado)d) Runge-Kutta 3er Ordene) Runge-Kutta 4to Orden (caso A)f) Runge-Kutta 4to Orden (caso B)

𝑦𝑦′ =𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= 𝑥𝑥𝑦𝑦; 𝑦𝑦 0 = 1, ℎ = 0.1, until 𝑥𝑥 = 1

Considere para este caso 6 dígitos de precisión.

Ecuaciones Diferenciales Ordinarias