You are on page 1of 44

Ecuaciones Diferenciales Ordinarias

Motivación
● Problema del paracaidista
dv c
= g− v  t 
dt m
● v: variable dependiente
(incógnita)
● t: variable independiente (dato)
● EDOs:
dv c
De primer orden = g− v  t 

dt m
2
● De segundo orden m x  c d x  k x =0
d
d t2 dt
EDOs de segundo orden
● Se transforman en un sistema de EDOs de
primer orden con una sustitución:
2
dx dy d x
y= ⇒ = 2
dt d x dt
● reemplazando
dy dy c y k x
m  c y k x= 0 ⇒ =−
dt dt m
● El sistema,
dx
=y
dt
dy c y k x
=−
dt m
Solución de EDOs sin computadora
● En algunos casos se obtiene por integración
indefinida:
 
c
dv c c
  gm − t
= g− v  t  ⇒ v=∫ g− v  t  d t ⇒ v  t = 1− e m
dt m m c
● Técnica habitual: linealización
● Ejemplo: péndulo
● EDO original (no lineal)
2
d  g
 sin  = 0
dt 2
l
● Si θ es pequeño (EDO lineal)
2
d  g
 =0
dt 2
l
Ejemplos de EDOs en Ingeniería
● Segunda ley de Newton del movimiento:
dv F
=
dt m
● Ley del calor de Fourier:
dT
q=−k
dx
● Ley de difusión de Fick:
dC
J =− D
dx
● Ley de Faraday:
di
 V=L
dt
Solución de problemas
Antecedentes matemáticos
● Solución de una EDO: función de la v.i. Y de las
condiciones iniciales.
● Supongamos
4 3 2
y=−0.5 x 4 x −10 x 8.5 x1
● Derivando,
dy 3 2
=−2 x 12 x −20 x8.5
dx
● Graficando,
Antecedentes matemáticos
Antecedentes matemáticos
● Ahora suponemos que debemos resolver la
EDO:
dy 3 2
=−2 x 12 x −20 x8.5
dx
● Integrando,

y=∫  −2 x 3 12 x 2 − 20 x 8.5  dx


4 3 2
y= ...=−0.5 x  4 x −10 x  8.5 x C
Solución general
● Cuál de todas las curvas
es? Falta más
información...
Antecedentes matemáticos
● ... por ejemplo saber que cuando x = 0, y = 1
(condición inicial). Entonces:
y=−0.5 x 44 x 3−10 x 28.5 x1
Solución particular

● En general, una EDO de orden n requiere n


condiciones:
● Si todas se fijan en el mismo punto (p. ej. x = 0) es
un problema de valores iniciales
● Si se fijan en distintos puntos, es un problema de
contorno
Orientación
Métodos de Runge-Kutta
● Solución de EDOs de la forma
dy
= f  x , y
dx
● El problema del paracidista se resolvió como
Nuevo valor = valor anterior + pendiente x paso

y i1 = y i  h

dy
= .... donde??
dx
Método de Euler
● La pendiente se estima como:
 = f  xi , yi
● Por lo tanto,

y i1 = y i  f  x i , y i  h
Ejemplo 25.1 pag. 720
● Resolver, para x entre 0 y 4 con h = 0.5,
dy 3 2
=−2 x 12 x −20 x8.5 , y  0=1
dx
● solución exacta: y=−0.5 x 44 x 3−10 x 28.5 x1
● Solución. En el primer paso,
y 0.5= y  0 f  0,1× 0.5=1.08.5×0.5=5.25
● La solución verdadera es
4 3 2
y  0.5=−0.5× 0.5  4× 0.5 −10× 0.5  8.5× 0.5 1= 3.21875
● El error E t =3.21875−5.25=−2.03125
 t =−63.1 %
Ejemplo 25.1 pag. 720
● Solución completa: 25_1.ods
Análisis del error en el método de
Euler
● Errores de
● Truncamiento
– Local
– Global
● Redondeo
● Serie de Taylor
III  n
y ' ' i 2 yi 3 yi n
y i 1 = y i  y ' i h h h ... h  Rn
2! 3! n!
● Es decir
f '  xi , yi 2 2
y i 1 = 
y i  f  x i , yi  h  h ... ⇒ E a =O  h 
 2!
Euler Error local
error
Ejemplo 25.2
● Calcular el error del método de Euler en el
primer paso del ejemplo 25.1
f '  x i , y i  2 f ' '  x i , y i  3 f III  x i , y i  4
● Solución Et= h h h
2! 3! 4!
● donde
2
f '  x i , y i =−6 x  24 x − 20 ⇒ f '  0,1=−20
f ' '  x i , y i =−12 x 24 ⇒ f ' ' 0,1= 24
III
f  x i , y i =−12
● luego
20 2 24 3 12 4
E t =− 0.5  0.5 − 0.5 =−2.5 0.5−0.03125=−2.03125
2 6 24
Análisis del error en el método de
Euler
● Error local O(h²) --> error global O(h)
● El error se reduce reduciendo h
● El método es exacto para y lineal (f' = 0)
Ejemplo 25.3
● Repita el ejemplo 25.1
con h = 0.25
● Solución: 25_3.ods
Algoritmo del método de Euler
● Código en Octave: euler.m
Ejemplo 25.4
● Resolver el problema del paracaidista
dv c
= g− v  t  lineal
dt m

[  ]
b
dv c v
= g− va No lineal
dt m v max
● Datos: m = 68.1 kg ; c = 12.5 kg/s; v = 0 en t = 0
● Donde: a = 8.3 , b = 2.2 y v max = 46 son
constantes empíricas
● Código en Octave: p25_4.m
Método de Heun
● Se predice por Euler:
0
y i1 = yi  f  x i , y i  h
predictor
● Para estimar
0
y ' i 1= f  x i1 , y i1 
● Que sirve para calcular
y ' i  y ' i 1
y i1 = y i  h
2 corrector
0
f  x i , y i  f  x i 1 , y i 1 
y i 1= y i  h
2
Método de Heun
● Se puede plantear el
esquema predictor –
corrector en forma
iterativa, hasta que

∣ y ij1− y i1

j−1

∣ t∣= j
100% s
y i1
Ejemplo 25.5
● Resolver, con h = 1
0.8 x
y ' =4 e −0.5 y , 0≤ x ≤4 , y  0=2
● Solución analítica: 4 0.8 x −0.5 x
y=  e −e  2 e −0.5 x
1.3
0
● Primer paso: y '  0=4 e −0.5×2=3
0
predictor y =23×1=5
1

y ' 1= f  x 1, y 10 =4 e 0.8×1−0.5×5=6.402164

corrector 3 6.402164
y 1=2 ×1=6.701082
2
● Solución completa: 25_5.ods
Error del método de Heun
● Supongamos que y' = f(x,y) = f(x) entonces
f  x i  f  x i 1 
y i 1= y i  h
 2
regla del trapecio
y i 1 x i1 x i1
dy
dx
= f  x ⇒ ∫ d y=∫ f  x  d x ⇒ y i 1− y i = ∫ f  x  d x
yi xi xi

Por la regla del trapecio,


x i 1
f  x i  f  x i 1  f ' '   3
∫ f  xd x=
2
h−
12
h
xi

f  x i  f  x i 1 
y i 1= y i  hO  h3  Error local
2 --> error global O(h²)
Error del método de Heun

dy 3 2
Solución de =−2 x 12 x −20 x8.5
dx
Método del punto medio
● Se calcula
h
y i1 / 2= y i  f  x i , y i 
2
y ' i 1/ 2= f  x i 1/ 2 , y i1/ 2 

y i1 = y i  f  x i1/ 2 , y i1/ 2 h


● Se basa en la fórmula de
integración del punto medio:
xi  1

∫ f  x  d x=h f  x i1 / 2 
xi
Error local: O(h³)
Error global: O(h²)
Algoritmos de los métodos de Heun
y del punto medio
● Se resuelve el problema
y ' =−2 x − y , y  0=1 , 0≤ x ≤1
● Códigos en Octave:
● heun.m
● puntomedio.m
Métodos de Runge - Kutta
● Forma general y i1 = y i  
  x i , y i , h h
funcion incremento
 =a 1 k 1a 2 k 2...a n k n
k 1= f  x i , y i 
k 2= f  x i  p1 h , y i  q11 k 1 h
k 3= f  x i  p2 h , y i  q 21 k 1 hq 22 k 2 h
...
n−1
k n = f  x i  p n−1 h , y i  ∑ q n−1, j k j h
j=1
Métodos de Runge – Kutta de
segundo orden
● Forma general
y i1 = y i  a 1 k 1a 2 k 2  h
k 1= f  x i , y i 
k 2= f  x i  p1 h , y i  q11 k 1 h
f '  x i , yi  2
● De la serie de Taylor, y i 1 = y i  f  x i , y i  h 2! h

∂ f  x i , yi  ∂ f  xi , y i  d y
f '  x i , y i =  Regla de la cadena
∂x ∂y dx
2
● reemplazando, 
y i 1 = y i  f  x i , y i  h
∂f ∂f

∂x ∂y
f
h
2! 
∂g ∂g
● De la serie de Taylor, g  x  r , y  s= g  x , y  r
∂x
s
∂y
 ...
Métodos de Runge – Kutta de
segundo orden
● Se tiene,
∂f ∂f 2
f  x i  p1 h , y i q 11 k 1 h= f  x i , y i  p1 h q 11 k 1 h O  h 
∂x ∂y
● reemplazando,
2 ∂f 2 ∂f 3
y i 1 = y i a 1 h f  x i , y i  a 2 p1 h a 2 q 11 h f  x i , y i  O  h 
∂x ∂y
● reordenando,
[
y i 1 = y i   a 1 a 2  f  x i , y i  h a 2 p1
∂f
∂x
 a 2 q 11 f  x i , y i 
]
∂f 2
∂y
3
h O  h 

● comparando,  a1a 2  =1 , a 2 p1 =
1
, a 2 q 11=
1
2 2
1
● Es decir a1 =1−a 2 , p1 =q 11 =
2 a2
Métodos de Runge – Kutta de
segundo orden
● 1 1
Si a 2 = ⇒ a 1= ⇒ p1 = q11=1
2 2


se tiene y i 1= y i  1 k 1 1 k 2 h
2 2 
con k 1 = f  x i , y i  , k 2 = f  x i  h , y i  k 1 h Método de Heun

● Si a 2 =1 ⇒ a 1= 0 ⇒ p1= q 11= 1
2
se tiene y i 1= y i  k 2 h

con k 1 = f  x i , y i  , k 2 = f  x i  1 h , y i  1 k 1 h Método del punto


2 2 medio
Método de Ralston
● Si a2 = 2/3, se minimiza el error de
truncamiento.
● Si a 2 = 2 ⇒ a 1= 1 ⇒ p1= q 11 = 3
3 3 4
se tiene 
1 2
y i 1= y i  k 1  k 2 h
3 3 
3 3
k 1 = f  x i , y i  , k 2 = f  x i  h , y i  k 1 h Método de Ralston
4 4
Ejemplo 25.6 pag. 744
● Comparación de varios esquemas de RK de
segundo orden d y 3 2
=−2 x 12 x − 20 x 8.5 , y 0=1
dx
● Solución en
25_6.ods
Métodos de Runge-Kutta de tercer
orden
● Una versión común es
1
y i1 = y i   k 14 k 2 k 3  h
6
● donde k 1= f  x i , y i 

 1
2
1
k 2= f x i  h , y i  k 1 h
2 
k 3= f  x i h , y i −k 1 h2 k 2 h 
● Si f = f(x) se transforma en la Regla 1/3 de
Simpson --> error local O(h4) y error global
O(h³)
Métodos de Runge-Kutta de cuarto
orden
● Una versión común es
1
y i1 = y i   k 12 k 2 2 k 3 k 4  h
6
● donde

k 1= f  x i , y i 

 1
2
1
k 2= f x i  h , y i  k 1 h
2 
 1
k 3= f x i  h , y i  k 2 h
2
1
2 
k 4 = f  x i  h , y i  k 3 h
Ejemplo 25.7 pag. 747
● Resolver, con h = 0.5
dy 3 2
=−2 x 12 x −20 x8.5 , y  0=1
dx
● Se calculan (...):
k 1=8.5 , k 2 =4.21875 , k 3 =4.21875 , k 4 =1.25
● reemplazando:
1
y  0.5=1  8.5 2× 4.21875 2× 4.218751.25  0.5= 3.21875
6 Solución exacta
Ejemplo 25.7 pag. 747
● Resolver, con h = 0.5
0.8 x
y ' =4 e −0.5 y , 0≤ x ≤0.5 , y  0=2
● Solución.
0.8×0
k 1 = f  0,2= 4 e − 0.5× 2= 3 ⇒ y  0.25= 2 3× 0.25= 2.75
0.8×0.25
k 2 = f  0.25,2.75= 4 e −0.5× 2.75= 3.510611
y  0.25= 2 3.510611× 0.25= 2.877653
0.8× 0.25
k 3 = f  0.25,2.877653= 4 e − 0.5× 2.877653= 3.446785
y  0.5= 2 3.446785× 0.5= 3.723392
0.8×0.5
k 4 = f 0.5,3.723392= 4 e −0.5× 3.723392= 4.105603
1
 = [ 3 2× 3.510611 2× 3.446785 4.105603 ] = 3.503399
6
y 0.5=23.503399×0.5=3.751669 Exacta : 3.751521
Métodos de Runge-Kutta de orden superior
● Método RK de quinto orden de Butcher:
1
y i1 = y i   7 k 1 32 k 312 k 4 32 k 5 7 k 6  h
90
● con k 1 = f  x i , y i 
k 2= f  1
xi h , yi k1 h
4
1
4
k 3= f  1 1 1

x i  h , y i  k 1 h k 2 h
4 8 8
k 4= f  1 1

x i  h , y i − k 2 h k 3 h
2 2

k 5= f  3 3 9
x i  h , y i  k 1 h k 4 h
4 16 16 
k 6= f  3 2 12 12 8
x i  h , y i − k 1 h k 2 h k 3 h− k 4 h k 5 h
7 7 7 7 7 
Algoritmo de los métodos de
Runge-Kutta
● Código en Octave para el método de RK de 4to
orden
● rk4.m
Sistemas de ecuaciones
d y1
= f 1  x , y 1, y 2, ... , y n 
dx
d y2
= f 2  x , y 1, y 2, ... , y n 
dx
...
d yn
= f n  x , y 1, y 2, ... , y n 
dx

● Requiere n condiciones iniciales en x0


Ejemplo 25.9, pag. 752
● Resolver el sistema de ecuaciones
d y1 d y2
=−0.5 y 1 ; = 4−0.3 y 2− 0.1 y 1
dx dx
● Por el método de Euler, con h = 0.5, sabiendo
que en x = 0, y1 = 4 y y2 = 6.
● Solución en planilla de cálculo: 25_9.ods
Ejemplo 25.10 pag. 752
● Resolver por el método de Runge-Kutta de 4to
orden el problema anterior.
● Solución en planilla de cálculo: 25_10.ods
Problemas 25.1 a 25.26, pag. 764

You might also like