Está en la página 1de 113

MÉTODOS NUMÉRICOS (Octave)

Prof. María Zegarra Garay e -mail: maria_zegarra@hotmail.com


Prof. Elizabeth Puelles Bulnes e -mail: eliza_bulnes@hotmail.com

CONTENIDO:
Ecuaciones diferenciales ordinarias con valor inicial. Métodos de un paso: Taylor,
Euler, Heun, Runge Kutta. Ecuaciones de mayor orden y sistemas de ecuaciones
diferenciales. Linealización. Métodos de Taylor y Runge Kutta para sistemas lineales.
ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN
EL PROBLEMA DE VALOR INICIAL (PVI) :

Definición: Se llama Problema de Cauchy (PC), o Problema de Valor Inicial


(PVI), al sistema formado por la ecuación diferencial ordinaria 𝑦 ′ = 𝑓(𝑥, 𝑦) y
por la condición inicial y(𝑥0 ) = 𝑦0 .
De manera general, un PVI, de orden n consiste en una ecuación diferencial
ordinaria de orden n mas n condiciones iniciales

𝑦 𝑥0 = 𝑦0, 𝑦 ′ 𝑥0 =, … , 𝑦 (𝑛−1) (𝑥0 ) = 𝑦0 (𝑛−1) .

Ejemplos:

• Dinámica de poblaciones. El economista inglés Thomas Malthus propuso


el siguiente modelo matemático para definir el crecimiento demográfico:

𝑑𝑃
= 𝑘𝑃; 𝑃 = 𝑃(𝑡)
𝑑𝑡
2
En el modelo, la tasa de crecimiento de la población P coincide con k, que es constante y se
considera positiva para poblaciones que no están en riesgo de extinción. Observe que la tasa
de crecimiento de las poblaciones es proporcional a la población total.(Este modelo en
realidad no es muy preciso, pues deja de lado otros factores como la inmigración, por
ejemplo, pero en su momento daba una buena aproximación al problema demográfico ). De
hecho, todas sus soluciones son de la forma

P(t) = c 𝑒 𝑘𝑡

Supongamos que el tamaño inicial de nuestra población fuera P(0) = 1 (en miles de
individuos) y la tasa de crecimiento k = 0,1. En este caso, la única solución del PVI para la
ecuación de Malthus es la que resulta de elegir c en la ecuación, de modo que

P(0) = c 𝑒 0 = 1, esto es, c= 1.

Dicho de otro modo, el único valor posible que puede adoptar el parámetro c para que en
t = 0 el tamaño de la población sea igual a 1 es c = 1.

3
Por lo tanto, la única solución de nuestro problema sería

P(t) = 𝑒 0.1𝑡 .

Con ella podemos predecir cualquier tamaño futuro.


Por ejemplo: si el tiempo viniese medido en años, al cabo de una década el tamaño de
la población sería igual a
P(10) = e = 2,71828
(es decir, 2718 individuos aprox.).

• Desintegración radiactiva. El siguiente modelo matemático es el que se aplica


para el estudio de la desintegración radiactiva:

𝑑𝐴
= 𝑘𝐴;
𝑑𝑡

En este caso, con k<0. Este modelo es la base del método de datación por Carbono 14,
ampliamente usado en la arqueología, entre otras ciencias.

4
• Ley de Newton del enfrentamiento o calentamiento. Isaac Newton
propuso la siguiente ley matemática para el cambio de temperatura:

𝑑𝑇
= 𝑘 𝑇 − 𝑇𝑚 ;
𝑑𝑡

donde k<0, 𝑇𝑚 es la temperatura del medio, y T la del objeto analizado.

• Ley de Torricelli. El drenado de un ataque cumple con el siguiente modelo:

𝑑𝑉
= −𝐴ℎ 2𝑔ℎ.
𝑑𝑡

Si definimos 𝑉 = 𝐴𝑤 ℎ, entonces la expresión anterior se puede escribir como

𝑑ℎ 𝐴ℎ
=− 2𝑔ℎ.
𝑑𝑡 𝐴𝑤

5
• Ley del Péndulo. La mayoría de los libros toma este caso del péndulo
como el ejemplo tradicional de las ecuaciones diferenciales ordinarias con
valores iniciales. El modelo matemático que representa este fenómeno esta
dado por:

𝑑2 𝜃 𝑔
2
= − 𝑠𝑒𝑛 𝜃 ,
𝑑𝑡 𝐿

donde g es la aceleración de la gravedad, L, longitud del péndulo, y Ө, el


ángulo del péndulo respecto de la vertical.
Este ejemplo suele linealizarse para el caso de ángulos muy pequeños, pues
se cumple que sen(Ө)= tan(Ө) = Ө, y la ecuación diferencial queda,

𝑑2 𝜃 𝑔
2
= − 𝜃
𝑑𝑡 𝐿

6
• Un otro ejemplo de la ingeniería civil es la ecuación del esfuerzo normal en
una barra, que se define como

𝑑𝑁
= −𝑡 𝑥 ;
𝑑𝑥

donde t (x) es una carga uniformemente distribuida en el eje de la barra.

Desde el punto de vista geométrico el problema de Cauchy de primer orden


no es mas que dar una e.d.o. de primer orden y un punto del plano. Una
solución de dicho problema será una curva solución de la e.d.o que pase por el
punto (𝑥0 , 𝑦0 ).

7
El teorema que veremos a continuación establece las condiciones que tiene
que cumplir un problema de valor inicial para tener solución.
Por otra parte, ni todo problema posee solución como por ejemplo:

como también, ni todos poseen solución única, por ejemplo:

tiene por lo menos dos soluciones dadas por

8
Teorema de Picard (Existencia y unicidad): Si la función 𝑓(𝑥, 𝑦) es
diferenciable en un entorno del punto (𝑥0 𝑦0 ), entonces el problema de
Cauchy
𝑦 ′ = 𝑓 𝑥, 𝑦 ;
𝑦 𝑥0 = 𝑦0 .
______________________________________________________________
Nota: Este es una versión simplificada del Teorema de Picard, con la
que se intenta dar la idea básica presente en los teoremas de existencia y
unidad de las soluciones de las ecuaciones diferenciales. En particular, no es
necesario que la función 𝑓(𝑥, 𝑦) sea diferenciable, basta con que verifique
propiedades menos restrictivas que la derivabilidad (ver apéndice al final del
tema).

9
Definición:

Observación:
Ejemplo:

Ejemplo:

10
11
Definición:

Proposición:

12
Teorema:

Ejemplo:

13
Observación:

Ejemplo:

Teorema:

Definición : Se dice que un conjunto 𝐷 ⊂ R2 es convexo siempre que 𝑡1 , 𝑦1


y (𝑡2 , 𝑦2 ) pertenecen a 𝐷 , entonces

((1- λ) 𝑡1 + λ 𝑡2 , (1- λ) 𝑦1 + λ 𝑦2 )

también pertenecen a 𝐷 para cada λ en [0, 1].

14
Teorema: Supongamos que 𝑓 𝑡1 , 𝑦1 está definida en un conjunto convexo 𝐷 ⊂ R2 .
Si existe una constante L >0, y

𝜕𝑓
𝑡, 𝑦 ≤ 𝐿 , para todo 𝑡, 𝑦 ∈ 𝐷
𝜕𝑦

Entonces 𝑓 satisface una condición de Lipschitz en 𝐷 en la variable y


con constante de Lipschitz L .
El siguiente teorema es una versión del teorema fundamental de existencia y
unicidad de las ecuaciones diferenciales ordinarias de primer grado.

Teorema: Supongamos que 𝐷 = 𝑡, 𝑦 ∶ 𝑎 ≤ 𝑡 ≤ 𝑏 𝑦 − ∞ < 𝑦 < ∞ y que


𝑓 𝑡, 𝑦 es continua en 𝐷 . Si 𝑓 satisface una condición de Lipschitz
en 𝐷 para la variable y, entonces el problema con valores iniciales
(PVI) :

𝑦 ′ 𝑡 = 𝑓 𝑡, 𝑦

y(𝑎)=α

tiene una única solución y 𝑡 para 𝑎 ≤ 𝑡 ≤ 𝑏 .

15
Ejemplo: Muestre que existe una única solución para el siguiente (PVI):

𝑑𝑦 2
= 𝑦 + 𝑡 2𝑒𝑡
(PVI) ቐ 𝑑𝑡 𝑡 , 1≤ 𝑡 ≤ 2
𝑦 1 =0
Definición: Sea
𝑑𝑦
= 𝑓 𝑡, 𝑦
(PVI) ቐ 𝑑𝑡 , 𝑎≤𝑡≤𝑏
𝑦 𝑎 =𝛼

se dice que es un Problema bien planteado si se verifica lo siguiente :

1. El (PVI) posee una solución y es única.


2. Existen constantes 𝜀0 > 0 𝑦 𝑘 > 0 tales que para toda 𝜀, 𝑐𝑜𝑛 𝜀0 > 𝜀 > 0,
siempre que 𝛿(𝑡) sea continua con |𝛿(𝑡)| < 𝜀 para toda t en [a, b] y cuando
|𝛿0 |< 𝜀 el siguiente problema llamado Problema de Perturbación (PP)
asociado al (PVI)
𝑑𝑧
= 𝑓 𝑡, 𝑧 + 𝛿(𝑡)
(PP) ቐ 𝑑𝑡
𝑧 𝑎 = 𝛼 + 𝛿0

posee una única solución z(t) que satisface: 𝑧 𝑡 − 𝑦(𝑡) < 𝑘𝜀 , ∀ 𝑡 ∈ 𝑎, 𝑏 .


16
El Problema (PP) representa la posibilidad de que haya 2 errores en el (PVI),
uno en la formulación de la ecuación diferencial: 𝛿(𝑡) y el otro error en la
condición inicial: 𝛿0

Teorema: Suponga que D={ (t , y) / 𝑎 ≤ 𝑡 ≤ 𝑏 𝑦 − ∞ < 𝑦 < ∞ }.


Si f es continua y satisface la condición de Lipschitz para la
variable 𝑦 en el conjunto D , entonces el (PVI):

𝑑𝑦 , 𝑎≤𝑡≤𝑏
= 𝑓 𝑡, 𝑦
൞ 𝑑𝑡
𝑦 𝑎 =𝛼
está bien planteado.

Ejemplo:

17
Métodos de Aproximación para el PVI

Obviamente, la importancia de los métodos numéricos radica en la


aparición de ecuaciones diferenciales que no pueden resolverse por
métodos de aproximación .

Veremos 4 métodos numéricos

• El Método de Taylor.
• El Método de Euler
• El Método de Euler mejorado
• El Método de Runge-Kutta.

En todos estos métodos se busca aproximar el valor 𝑦(𝑥1 ) donde 𝑥1 es


un valor cercano a 𝑥0 (el de la condición inicial dada).
Comencemos con el primer método que como siempre no es el más
exacto , pero si el mas sencillo y simple de explicar, así como el que
marca la pauta para desarrollar los otros métodos.

18
Teorema de Taylor de Orden n
Sean 𝑦 𝜖 ∁𝑛 𝑎, 𝑏 , 𝑦 𝑛+1 existe en [𝑎, 𝑏]. Para cada (𝑡𝑘 +ℎ) 𝜖 𝑎, 𝑏 , existe un
número 𝜉 𝑡𝑘 𝜖 𝑡𝑘 + ℎ, 𝑏 talque

ℎ2 ℎ𝑛
𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + 𝑦 ′ 𝑡𝑘 ℎ + 𝑦 ′′ 𝑡𝑘 +⋯+𝑦 𝑛
𝑡𝑘
2! 𝑛!
=𝑃𝑛

𝑛+1

+ 𝑦 (𝑛+1) (𝜉 𝑡𝑘 )
𝑛+1 !
=𝑅𝑛

𝑃𝑛 ∶ Es el n - ésimo Polinomio de Taylor para y.


𝑅𝑛 ∶ Es el Residuo o error de truncamiento asociado a 𝑃𝑛 .
Cuando 𝑛 → ∞, 𝑃𝑛 es la Serie de Taylor para y.

El término error de truncamiento es el error implícito al usar una suma


truncada o finita, para aproximar la suma de una serie infinita.

19
Observe que el teorema solo asegura la existencia de la función 𝜉 𝑡𝑘 mas no
se conoce de manera explícita, a lo más se podrá encontrar alguna cota para
el valor 𝑦 𝑛+1 𝜉 𝑡𝑘 , en algún intervalo que se considere.

P(x) Polinomios de Taylor


aproximantes a una función y(x).

(Aproximación cuadrática)

(Aproximación Lineal)

20
La solución aproximada del problema de valor inicial

y′=f(t, y)
(PVI) ቊ ; ∀ 𝑡 ∈ [a, b]
y(t0)=y0,

mediante el método de Taylor, está basado en la aplicación del teorema de


Taylor en cada subintervalo [tk, tk+1], de manera que el paso general del
método de Taylor de orden n es:
ℎ2 … (n) ℎ𝑛
𝑦(k+1) = 𝑦k+ 𝑦′(tk) ℎ + 𝑦′′(tk) + + 𝑦 (tk)
2! 𝑛!
para k=0,1,…n-1

Luego del (PVI),


𝒉𝟐 𝒏 𝒉𝒏
𝒚(𝒌+𝟏) = 𝒚𝒌 + 𝒇(𝒕𝒌 , 𝒚𝒌 )𝒉 + 𝒇′(𝒕𝒌 , 𝒚𝒌 ) 𝟐! +⋯+ 𝒚 (𝒕𝒌 ) 𝒏! (s.a)

Con este algoritmo observamos que se obtiene yk+1 solamente a partir de


un solo paso anterior, a saber: yk sin usar yk-1, yk-2,… para algún n fijo

21
(truncamiento) generando algún método, que veremos más adelante, a
esta forma de hallar las soluciones aproximadas se le conoce como
Métodos de un solo paso.

Cuando n=1 se obtiene el famoso método de Euler.


En general el algoritmo de los métodos de un solo paso que resuelven el
(PVI), es de la forma

𝑦 (k+1) = 𝑦 k + ℎ 𝜑(𝑡𝑘 , 𝑦𝑘 ; ℎ ) (1)


llamada Ecuación de Diferencias.
Definimos el Error de Truncamiento Global en el k-ésimo paso, como

𝒆 𝒌 = 𝒚 𝒕𝒌 − 𝒚 𝒌 , para k=0,1,…n-1.
Este error es la diferencia entre la solución exacta 𝑦(𝑡𝑘 ) y la solución
aproximada 𝑦𝑘 , con el método escogido en (1), para el nodo
correspondiente.

22
De (1) para ℎ ≠ 0:

𝑦𝑘+1 − 𝑦𝑘
= 𝜑 𝑡𝑘 , 𝑦𝑘 ; ℎ , para todo k=0,1,…,n-1

lo que se desea estudiar es la precisión del cálculo de la solución aproximada 𝑦 k+1 en (1),
para tal definimos el Error de Truncamiento Local en el k-ésimo paso del método (1), como

𝑦𝑘+1 −(𝑦𝑘 +ℎ𝜑(𝑡𝑘 , 𝑦𝑘 )) 𝑦𝑘+1 − 𝑦𝑘


𝜏𝑘+1 ℎ = = − 𝜑(𝑡𝑘 , 𝑦𝑘 )
ℎ ℎ
para 𝑡 ∈ 𝑡0 , 𝑏 , ℎ > 0.

Diremos que el método dado en (1) es de Orden k, denotado por 𝒪(ℎ𝑘 ), si existe una
constante 𝑐 >0 tal que 𝜏 ≤ 𝑐ℎ𝑘 , cuando ℎ es suficientemente pequeña, donde 𝜏 es
el error de truncamiento local.

23
Error de Truncamiento para el Método de Euler:

Se tiene lo siguiente:

𝑦 𝑡𝑘 + ℎ − 𝑦(𝑡𝑘 )
lim = 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘 ))
ℎ→0 ℎ
esto es,
𝑦 𝑡𝑘 +ℎ −𝑦(𝑡𝑘 )
≈ 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘 ))

donde se espera que más exacta cuanto más pequeño sea el paso h.
El error local de truncamiento 𝜏𝑘 para el Método de Euler, se puede interpretar como el
error que cometemos al hacer la anterior aproximación, es decir que de manera exacta
tenemos

𝑦 𝑡𝑘 + ℎ − 𝑦(𝑡𝑘 )
≈ 𝑓 𝑡𝑘 , 𝑦 𝑡𝑘 + 𝜏𝑘

24
Análogamente a lo que establecimos como error de discretización se define el error
(global) de truncamiento como,
𝜏 = max 𝜏𝑘
Se dice que un método es Consistente si se verifica

lim 𝜏 = 0 uniformemente para 𝑡 ∈ 𝑡0 , 𝑏


ℎ→0

Consistencia del Método de Euler y Orden

𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + ℎ𝑓 𝑡𝑘 , 𝑦 𝑡𝑘 + ℎ𝜏𝑘
Desarrollando la función 𝑦 𝑡𝑘 + ℎ por Taylor y utilizando la fórmula del resto de
Lagrange, se tiene
2

𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + ℎ𝑦 ′ (𝑡𝑘 ) + 𝑦 ′′ 𝜉𝑘 , 𝜉𝑘 𝜖[𝑡𝑘 , 𝑡𝑘+1 ]
2

25
Como 𝑦 ′ 𝑡𝑘 = 𝑓 𝑡𝑘 , 𝑦𝑘 se tiene
ℎ2 ′′
𝑦 𝑡𝑘 + ℎ𝑦 ′ 𝑡𝑘 + 𝑦 𝜉𝑘 = 𝑦 𝑡𝑘 + ℎ𝑦′ 𝑡𝑘 + ℎ𝜏𝑘
2

Cancelando términos se obtiene


𝜏𝑘 = 𝑦′′ 𝜉𝑘
2

De aquí 𝜏 ≤ 2 𝑚𝑎𝑥 𝑦′′(𝑡)

Concluyendo que el Método de Euler es consistente y de hecho es consistente de orden


1.

26
Si 𝜏 𝑡; ℎ → 0 cuando ℎ → 0 uniformemente para 𝑡 ∈ 𝑡0 , 𝑏 se
dice que (1) es un Método Consistente.

27
Método de Taylor:

28
29
30
Método de Taylor:

31
32
33
34
35
36
37
38
39
40
41
42
43
44
MÉTODO DE EULER
La idea del método de Euler es muy sencilla y está basada en el significado
geométrico de la derivada de una función en un punto dado, también
observaremos que el método de Euler, es el método de Taylor de orden 1.
Supongamos que tuviéramos la curva solución de la ecuación diferencial y
trazamos la recta tangente a la curva en el punto dado por la condición
inicial.
Y(t)

45
Debido a que la recta tangente aproxima a la curva en valores cercanos al punto de
tangencia, podemos tomar el valor de la recta tangente en el punto 𝑥1 como una
aproximación al valor deseado 𝑦(𝑥1 ).
Asi, calculemos la ecuación de la recta tangente a la curva solución de la ecuación
diferencial dada en el punto (𝑥0 𝑦0 ).

De los cursos de Geometría Analítica, sabemos que la ecuación de la recta es :

𝑦 = 𝑚 𝑥 − 𝑥0 + 𝑦0

Donde m es la pendiente . En este caso, sabemos que la pendiente de la recta tangente


se calcula con la derivada :

Por lo tanto, la ecuación de la recta tangente es :

46
Ahora bien , suponemos que 𝑥1 es un punto cercano a 𝑥0 , y por lo
tanto estará dada como

De esta forma tenemos la siguiente aproximación:

Ya que del gráfico se observa que para 𝑥0 los puntos

se aproximan.
De aquí tenemos nuestra fórmula de aproximación:

47
Esta aproximación puede ser suficientemente buena, si el valor de h es realmente
pequeño , digamos de una décima o menos. Pero si el valor de h es más grande,
entonces podemos cometer mucho error al aplicar dicha fórmula.

Una forma de reducir el valor y obtener de hecho un método iterativo, es dividir la


distancia

Ahora bien, sabemos que:

Para obtener 𝑦2 únicamente hay que pensar que ahora el papel de (𝑥0 𝑦0 ) lo
toma el punto (𝑥1 𝑦1 ) , y por lo tanto, si sustituimos los datos adecuadamente,
obtendremos :

de aquí se ve claramente que la fórmula recursiva general, esta dada por :

48
Esta es la conocida formula de Euler que se usa para aproximar el valor de
𝑦(𝑥1 ) aplicándola sucesivamente desde 𝑥0 ℎ𝑎𝑠𝑡𝑎 𝑥𝑛 en pasos de longitud h.

En general se considera un intervalo [𝑥0 𝑥𝑛 ] y se le divide en n subintervalos la


solución aprox. mejora de extremos : 𝑥0 , 𝑥1, 𝑥2 … , 𝑥𝑛 𝑒𝑛 𝑑𝑜𝑛𝑑𝑒

𝑥𝑖 = 𝑥0 + ℎ. 𝑖 0< i <n ,

A h se le llama tamaño del paso .

Ejemplo 1

Dada la siguiente ecuación con la condición inicial:

Aproximar y (0,5).

49
NOTA

Primero observamos que esta ecuación si puede resolverse por métodos


tradicionales de ecuaciones diferenciales. Por ejemplo, podemos aplicar el
método de separación de variables. Veamos las dos soluciones.

Solución Analítica

Sustituyendo la condición inicial:

50
Por lo tanto , tenemos que la curva solución real esta dada:

Y por lo tanto, el valor real que se pide es:

51
Solución Numérica:

Aplicamos el método de Euler y para ello, observamos que la distancia


Entre 𝑥0 = 0 𝑦 𝑥1 = 0,5 no es lo suficientemente pequeña. Si dividimos
esta distancia entre 5 obtenemos un valor de h=0,1 y por lo tanto,
obtendremos la aproximación deseada en cinco pasos.

De esta forma, tenemos los siguientes datos:

Sustituyendo estos datos en la formula de Euler, tenemos, en un primer paso :

52
Aplicando nuevamente la formula de Euler tenemos en un segundo paso:

Y así sucesivamente hasta obtener 𝑦5 . Resumimos los resultados en


la siguiente tabla:

53
Concluimos el valor aproximado, usando el método de Euler es:

Puesto que en este caso, conocemos el valor verdadero, podemos usarlo


para calcular el error relativo porcentual que se cometió al aplicar la fórmula
de Euler.

54
Definición: El Error Relativo Porcentual viene dado por

𝑉𝑎𝑙𝑜𝑟 𝑒𝑥𝑎𝑐𝑡𝑜 −𝑉𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥.


𝜖𝑟 = × 100%
𝑉𝑎𝑙𝑜𝑟 𝑒𝑥𝑎𝑐𝑡𝑜

Luego en nuestro ejemplo:

El Programa en Matlab es:

55
Programa Principal: Método de Euler

56
57
58
59
Ejemplo 2

Aplicar el método de Euler para aproximar el y(1,3), dada la ecuación


diferencial:

Solución

Nuevamente vemos que nos conviene dividir en pasos la aproximación. Asi,


elegimos nuevamente h=0,1 para obtener el resultado final en tres pasos. Por
lo tanto, aplicamos el método de Euler con los siguientes datos:

60
En un primer paso , tenemos que:

Resumimos los resultados en la siguiente tabla:

De lo cual concluimos que la aproximación buscada es:

61
La solución exacta es:

dsolve('Dy=1+ y/t','y(1)=2','t')

ans =

2*t + t*log(t)

62
Ejemplo: Cotas de error

63
64
65
MÉTODO DE EULER MODIFICADO : IDEA GEOMÉTRICA

Este método se basa en la misma idea del método anterior, pero hace un
refinamiento en la aproximación, tomando un promedio entre ciertas pendientes.

La fórmula es la siguiente:

donde:

Para extender esta fórmula, analicemos el primera la aproximación, con base en la


siguiente gráfica:

66
Método de Euler Modificado

67
En la grafica, vemos la pendiente promedio 𝑚 corresponde la pendiente de la
recta bisectriz de la recta tangente a la curva en punto de la condicione inicial
y la “recta tangente” a la curva en el punto (𝑥1 , 𝑦1 ), donde 𝑦1 es la
aproximación obtenida con la primera formula de Euler.

Finalmente, esta recta bisectriz se traslada paralelamente hasta el punto d la


condición inicial, y se considera el valor de esta recta en el punto X = 𝑋1
como La aproximación de Euler mejorada.

68
69
70
71
72
73
74
75
76
77
78
79
Ejemplo 1:

Aplicar el método de Euler mejorado, para aproximar 𝑦 (0.5) si:

𝑦 ′ = 2𝑥𝑦
𝑦 0 =1

Solución

Vemos que este es el mismo ejemplo 1 del método anterior. Asi que
definimos ℎ = 0.1 y encontraremos la aproximación después de cinco
iteraciones. A diferencia del método de Euler 1, en cada iteración requerimos
de dos cálculos en vez de uno solo: el de 𝑦𝑛 ∗ y posteriormente el de 𝑦𝑛

80
Para aclarar el método veamos con detalle las primeras dos
interacciones. Primero que nada, aclaramos que tenemos los siguientes
datos iniciales:

En nuestra primera iteración tenemos:

81

Nótese que el valor de 𝑦1 coincide con el 𝑦1 ( Euler 1 ), y es el único valor
que va a coincidir , pues para calcular 𝑦2 ∗ se usará 𝑦1 y no 𝑦1 ∗ .
Esto lo veremos claramente en la siguiente iteración:

Nótese que ya no coinciden los valores de 𝑦2 (Euler) y e l de 𝑦2 ∗ . El proceso


debe seguir hasta la quinta iteración. Resumimos los resultados en la siguiente tabla:

82
Concluímos entonces que la aproximación obtenida con el método de Euler es :

Con fines de comparación, calculamos el error relativo verdadero:

83
Vemos que efectivamente se ha obtenido una mejor aproximación con este método,
reduciendo el error relativo verdadero de un 5.4% hasta un 0.05%. En nuestro tercer
método de un 5.4% hasta un 0.05%. En nuestro tercer método veremos como se
reduce aun mas este error prácticamente a un 0% !
El Programa en Matlab es:
Programa Principal: Método Euler Modificado

84
85
86
87
88
Ejemplo 2

Aplicar el método de Euler mejorado para aproximar y (1.3) si tenemos:

Solución:

Tenemos los siguientes datos:

89
En una primera iteración, tenemos lo siguiente:

Concluimos entonces que la aproximación buscada es:

90
91
Ejemplo:

Se considera el problema de Cauchy o de valores iniciales

Utilizamos el método de Taylor de orden 2 con paso h=0.1 y h=0.2 e intervalo


de definición de la solución exacta el 0,1 . Comparamos con la solución
exacta :
𝑥3
y x =𝑒 . 3

Solución:
En este caso el método tendría la formulación siguiente:
Dado que 𝑓 𝑥, 𝑦 = 𝑥 2 𝑦, tendremos las relaciones:

92
Y por lo tanto, para h=0,2, el método tendría la recurrencia de los cálculos
siguientes

Los cálculos se muestran en la tabla que sigue donde se observa que los errores han
disminuido respecto al caso h=0.2 lo que indica la convergencia del método

93
Taylor con pasos h=0.2 y h=0.1 respectivamente.

94
Métodos de Runge-Kutta:

Los métodos de Runge-Kutta consiguen la precisión de los Métodos de Taylor,


sin calcular derivadas, mejorando la rapidez del algoritmo.
Los métodos anteriores se sustentan en la forma general:
Próximo valor = valor anterior + (pendiente )x (tamaño del paso)
Esto es,
𝑦𝑖+1 = 𝑦𝑖 + 𝜑ℎ

Esta ecuación nos dice que la pendiente 𝜑 calculada en 𝑡𝑖 , 𝑦𝑖 se usa para


calcular el próximo valor 𝑦𝑖+1 , aplicando esto para cada i se genera una
secuencia de puntos que definen la curva solución aproximada.
En el método de Euler Modificado esta pendiente es tomada como un promedio
de pendientes, recordando, se tenía en un primer paso:

mprom=(m0 + m1)/2 , m0= f(t0 , y0) , m1= f(t1 , y1*)

95
y1*= y0 + hf(t0,y0) Predice el valor para y1 como siendo y1* usando Euler

y1= y0 + (h/2)[f(t0,y0)+ f(t1,y1*)] Corrige el valor y1 al tomar el promedio de


las pendientes mprom .

Otro método, que veremos luego, considera otro tipo de pendiente, al predecir el valor
de yi en el punto medio del intervalo, esto es: yi+1= yi + hf[ti +1/2.h , yi+1/2.hf(ti, yi)]

𝑡𝑖 (Método del Punto Medio)

𝑡𝑖 𝑡𝑖

96
Por otra parte, recordemos que nuestro interés se centra en resolver
numéricamente el (PVI):

y′=f(t, y)
(PVI) ቊ ; ∀ 𝑡 ∈ [a, b]
y(t0)=y0,

que no es otra cosa que resolver la ecuación integro diferencial asociada,


calculando la integral definida, usando por ejemplo, el método de Simpson:

97
98
Este método es capaz de conseguir precisiones altas sin tener que tomar el paso h
tan pequeño como para hacer excesiva la tarea del cálculo.

A seguir presentamos la deducción del Método de Runge-Kutta de segundo orden.


El algoritmo plantea una interpretación en base a pendientes ponderadas, como
acabamos de ver en la idea intuitiva que presentamos.

99
Sea

donde

Observe que sustituyendo (3) , (2) en (1) se obtiene:

donde el parecido en relación al método de Euler Modificado difiere tan solo


en la forma de escoger las pendientes predictoras y correctoras.

100
El algoritmo quedará bien determinado cuando encontremos los valores de
las constantes

Para tal, se sabe por Taylor,

hallando

Sustituyendo en (4)

101
Por otra parte, desarrollando la serie de Taylor en dos variables para f :

Sustituyendo en (1):

Agrupando los términos convenientemente,

Ahora comparando los términos comunes de esta ecuación con la ecuación (6)
se tiene

102
Como la solución para las constantes no es única , existe una familia de métodos
de segundo orden tales como:

Método del Punto Medio:


1
Se considera 𝑎2 = 1 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑎1 = 0 , 𝑝1 = 𝑞11 = 2 , luego la ecuación (1)
se convierte en:

donde: y

Método de Euler Modificado:


Se considera 𝑎2 = 𝑎1 = 1 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑝1 = 𝑞11 = ℎ , luego la ecuación (1)
se convierte en:

donde:

103
Método de Ralston:
2 1 3
Se considera 𝑎2 = 3 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑎1 = 3 , 𝑝1 = 𝑞11 = 4 , luego la ecuación (1)
se convierte en:

donde:

104
Polinomio de Taylor grado n :

Si z = f(x,y) es de clase Cn en el punto (a,b) entonces su polinomio de Taylor de grado n


en (a,b) se expresa como :

105
O también haciendo el cambio de variable,

𝑥−𝑎 =ℎ y 𝑦−𝑏 =𝑘
se tiene:

106
Ejemplo: Hallar P2(f,(0,1),(x,y)) y P3(f,(0,1),(x,y)) , si f(x,y)= cos(2x + lny)

P2(f,(0,1),(x,y)) =

P3(f,(0,1),(x,y)) =

107
Runge-Kutta orden 4: Es sin duda el algoritmo que alcanza mayor precisión
dentro de la familia de métodos RK.

Definimos las constantes 𝑘1 , 𝑘2 , 𝑘3 , 𝑘4 , que son pendientes ponderadas como fue


visto,

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

𝑘4 = 𝑓(𝑡𝑖 + ℎ , 𝑦𝑖 + 𝑘3 )
luego la solución aproximada, es:


𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
La deducción de este algoritmo es análoga a la descrita para RK2.

108
% Programa: Runge Kutta orden 2
function f
fprintf('\n \t RESOLUCIÓN DEL PVI POR MEDIO RUNGE-KUTTA DE
ORDEN 2\n')
f=input('\n Ingrese la ecuación diferencial dy/dx=\n','s');
x0=input('\n Ingrese el primer punto x0:\n');
x1=input('\n Ingrese el segundo punto x1:\n');
y0=input('\n Ingrese la condición inicial y(x0):\n');
n=input('\n Ingrese el número de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
fprintf('\n''it x0 y(x1)');
for i=1:n
it=i-1;
x0=xs(i);

109
x=x0;
y=y0;
k1=h* eval(f);
x=xs(i+1);
y=y0+k1;
k2=h* eval(f);
y0=y0+(k1+k2)/2;
fprintf('\n%2.0f%10.6f%10.6f\n',it,x0,y0);
end
fprintf('\n El punto aproximado y(x1) es = %8.6f\n',y0);

110
% Programa: Runge -Kutta orden 4
function f
fprintf('\n \t RESOLUCIÓN DE ECUACIONES DIFERENCIALES POR
MEDIO DE RUNGE-KUTTA 4º ORDEN \n')
f=input(‘ \n Ingrese la ecuación diferencial \n ', 's');
x0=input('\n Ingrese el primer punto x0:\n');
x1=input('\n Ingrese el segundo punto x1:\n');
y0=input('\n Ingrese la condición inicial y(x0):\n');
n=input('\n Ingrese el numero de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
fprintf('\n''it x0 y(x1)');
for i=1:n
it=i-1;
x0=xs(i);
x=x0;
y=y0;
k1=h*eval(f);
x=x0+h/2;
y=y0+k1/2;

111
k2=h* eval(f);
x=x0+h/2;
y=y0+k2/2;
k3=h* eval(f);
x=x0+h;
y=y0+k3;
k4=h* eval(f);
y0=y0+(k1+2*k2+2*k3+k4)/6;
fprintf('\n%2.0f%10.6f%10.6f\n',it,x0,y0);
end
fprintf('\n El punto aproximado y(x1) es = %8.6f\n',y0);

112
% Programa: Runge Kutta orden 4 (otro código)

clc; % limpia pantalla


clear all;
h=1.5; % tamaño de paso
x = 0:h:3;
y = zeros(1,length(x));
y(1) = 5; % condición inicial
F_xy = @(t,r) 3.*exp(-t)-0.4*r; % ejemplo particular
for i=1:(length(x)-1) k_1 = F_xy(x(i),y(i));
k_2 = F_xy(x(i)+0.5*h, y(i)+0.5*h*k_1);
k_3 = F_xy((x(i)+0.5*h),(y(i)+0.5*h*k_2));
k_4 = F_xy((x(i)+h),(y(i)+k_3*h));
y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h; % main equation
end
y

113

También podría gustarte