Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos Numéricos
SEMESTRE 2018 B
dy 2 dy
+ (x 3 + 2x) + 3y = 0
dx 2 dx
f (x, y , c) = 0. (2)
y (x0 ) = y0 . (3)
La condicón inicial y (x0 = y0 ), representa el punto p0 = (x0 , y0 ) por donde pasa la curva solución de la EDO. Con
el punto p0 , se puede evaluar la 1ra derivada de f (x) en ese punto, es decir:
0 dy
f (x) = |p0 = f (x0 , y0 ) (6)
dx
k = 0, 1, 2, ..., N − 1
x1 − x0
N = , número de puntos de la soluci ón.
h
xf : punto final del dominio
Mg. Cesar Victoria Barrós Métodos Numéricos
Programación en matlab método de Euler hacia adelante (EDOmddha)
h
yn+1 − yn = [f (xn+1 , yn+1 ) + f (xn , yn )].
2
Luego,
h
yn+1 = yn + [f (xn+1 , yn+1 ) + f (xn , yn )] (11)
2
xn+1 = xn + h. (12)
(k) h (k−1)
yn+1 = yn + [f (xn+1 , yn+1 ) + f (xn , yn )]. (13)
2
el proceso se repite hasta que se cumpla la condición:
(k) (k−1)
| yn+1 − yn+1 |≤ TOL ∼ 10−2 . (14)
(k) (0)
donde yn+1 es la k-ésima aproximación iterativa de yn+1 , e yn+1 es
una estimación inicial de yn+1 .
La ecuación (13) funciona muy bien cuando f (x, y ) no es lineal en
“y”.
Una desventaja de los métodos de Euler consiste es que los órdenes de precisión son
bajo, esto implica que para mantener una precisión aceptable se requiere de un h
pequen̄o, lo que aumenta el tiempo de cálculo y provoca errores de redondeo
considerables. Los métodos de Runge-Kutta tratan de obtener mayor precisión. Una
mayor precisión ocasiona que los errores de redondeo decrezcan más rápido al reducir
h.
Al integrar la ecuación (1) y usando la regla del trapecio se obtiene:
Z yn+1 Z xn+1 h
dy = f (x, y )dx = [f (xn+1 , ȳn+1 ) + f (xn , yn )].
yn xn 2
h
yn+1 = yn + [f (xn+1 , ȳn+1 ) + f (xn , yn )] (15)
2
xn+1 = xn + h (16)
ȳn+1 = yn + hf (xn , yn ) (17)
xf − x0
h= . (18)
N
Donde N es el número de puntos de la solución.
Mg. Cesar Victoria Barrós Métodos Numéricos
Programación en matlab método de Runge-kutta (EDOmdrkdso)
d 2y
= y 00 = f (x, y , y 0 ) (19)
x2
Las condiciones iniciales son:
x0 , y0 , y00 .
Haciendo cambio de variable:
z = y0 (20)
0 00
z =y = f (x, y , y 0 ) (21)
z0 = y00 (22)
xk+1 = xk + h (23)
zk+1 = zk + hf (xk , yk , zk ) (24)
yk+1 = yk + h[zk ]. (25)