Ing. Fernando
Montesinos Andreses
CICLO 2013-I Módulo: II Unidad: 04 Semana: 08
MÉTODOS NUMÉRICOS Y
PROGRAMACIÓN DIGITAL
SOLUCIÓN NUMÉRICA ECUACIONES
DIFERENCIALES
ORIENTACIONES
Para llegar a donde deseas necesitas una
meta, que tu meta sea pasar este curso con
un buen resultado, es decir que puedas
lograr aprender a aprender. Para llegar a
ello debes tener un plan, el cual debe
incluir los puntos siguientes:·
• Prepararse para la clase.
• Asistir a clase.
• Solicitar ayuda especial cuando la
necesites·
CONTENIDOS TEMÁTICOS
SOLUCIÓN NUMÉRICA ECUACIONES DIFERENCIALES
. Método de extrapolación de Adams
. Método de Milne
. Método de diferencias finitas
Los métodos para solucionar una ecuacion
diferencial de primer orden pueden ser adaptados a
la solución de sistemas de primer orden.
00
21
0
2
0
22122
0
1
0
12111
,,,,
,,,,
,,,,
nnnnn
n
n
yxyyyyxfdx
dy
yxyyyyxfdx
dy
yxyyyyxfdx
dy
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Por ejemplo sea el siguiente sistema de dos
ecuaciones diferenciales ordinarias de primer
orden:
002
001
,,
,,
zxzzyxfdx
dz
yxyzyxfdx
dy
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Donde busca aproximar y(x) y z(x)
Resolver el siguiente Problema de Valor Inicial que
consta de dos EDOs de primer orden:
21
11
2
zzyxdx
dz
yzyxdx
dy
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Donde busca aproximar y(1.2) y z(1.2)
nnnnn
nnnnn
nn
nnn
nnn
nn
zyxhzz
zyxhyy
hxx
zyx
hzzz
hyyy
hxx
2
1
1
1
000
1
1
1
211
'
'
Sistemas de Ecuaciones
Diferenciales de Primer Orden Plantearemos el algoritmo para el método de Euler:
401.2
87.1
2.1
2.2
4.1
1.1
1.0211
11
2
112
11112
12
00
2
001
00001
01
000
zyxhzz
zyxhyy
hxx
zyxhzz
zyxhyy
hxx
hzyx
Sistemas de Ecuaciones
Diferenciales de Primer Orden Reemplanzado valores:
Sistemas de Ecuaciones
Diferenciales de Primer Orden Se tiene una solución aproximada en forma
discreta:
n xn yn zn
0 1 1 2
1 1.1 1.4 2.2
2 1.2 1.87 2.401
''2*2/
''1*2/
''*2/'
''*2/'
22
1
2
1
1
2
1
2
1
1
nnnnnnnn
nnnnnnn
nn
nnnn
nnnn
nn
zyxhzyxhzz
zyhzyxhyy
hxx
zhhzzz
yhhyyy
hxx
Sistemas de Ecuaciones
Diferenciales de Primer Orden Si queremos mejorar la exactitud del resultado
podemos usar un paso h mas pequeño o usar
Taylor, por ejemplo de orden 2 sería:
211
211
112
112
1
1
1
2
1
2
1
,,
,,
,,
,,
llzz
kkyy
lzkyhxhgl
lzkyhxhfk
zyxhgl
zyxhfk
hxx
nn
nn
nnn
nnn
nnn
nnn
nn
Sistemas de Ecuaciones
Diferenciales de Primer Orden También se puede hacer una adaptación del método
de Runge-Kutta 2
Los problemas de valor inicial de mayor orden
pueden ser transformados en un sistema de
ecuaciones diferenciales de primer orden.
1-n
1-n
n
n
,,,,dt
yd
dt
dyytg
dt
yd
Ecuaciones Diferenciales orden Superior
Por ejemplo, sea la EDO de tercer orden:
Ecuaciones Diferenciales orden Superior
002
2
00
00
2
2
3
3
''
'
,,,
ytdt
yd
ytdt
dy
yty
dt
yd
dt
dyytg
dt
yd
La EDO de tercer orden se transforma en un sistema
de 3 ecuaciones de primer orden:
Ecuaciones Diferenciales orden Superior
002
2
0
000
00
''
'
ytdt
ydtw
ytdt
dytz
yty
wzytgdt
dw
wdt
dz
zdt
dy
,,,
Considere una ecuación
diferencial de segundo orden de
un sistema de masa y resorte
vibratorio
Las cond. iniciales son x(0) =x0
y x’(0) =0.
02
2
kxdt
dxc
dt
xdm
Ecuaciones Diferenciales orden Superior
Re-escribir la ecuación:
La primera derivada puede ser escrita:
x
m
k
dt
dx
m
c
dt
xd2
2
2
2
y dt
xd
dt
dvv
dt
dx
Ecuaciones Diferenciales orden Superior
La ecuación puede ser escrita como un conjunto
de dos ecuaciones de primer orden.
Las condiciones iniciales: x(0) = x0 y v(0) = 0.
xm
kv
m
c
dt
dv
vdt
dx
Ecuaciones Diferenciales orden Superior
Sistemas de Valor Inicial Problemas
Las ecuaciones pueden ser definidas:
xm
kv
m
cvxtf
dt
dv
vvxtfdt
dx
,,
,,
2
1
Podemos aplicar Euler:
iii
iii
vxtftvdt
dvtvv
vxtftxdt
dxtxx
,,
,,
2ii1i
1ii
i1i
Sistemas de Valor Inicial Problemas
Diferenciales mayor-orden Problemas
Ejemplo
Considere una ecuación diferencial de segundo
orden para sistemas de masa-resorte vibrante.
Las condiciones iniciales son x(0) =0.2, x’(0) =0
y t = 0.02. (Solución Exacta = 0.2 cos(2t))
042
2
2
2
xdt
xdx
m
k
dt
xd
Problema Ejemplo
La ecuación puede ser escrita como un conjunto de
dos ecuaciones de primer orden.
Las condiciones iniciales, x(0) = 0.2 y v(0) = 0.
xdt
dv
vdt
dx
4
Problema Ejemplo
El desarrollo del método de Euler.
t x v dx/dt dv/dt Valor exacto
0 0,2 0 0 -0,8 0,2
0,02 0,2 -0,016 -0,016 -0,8 0,19984002
0,04 0,19968 -0,032 -0,032 -0,79872 0,19936034
0,06 0,19904 -0,04797 -0,0479744 -0,79616 0,19856173
0,08 0,198081 -0,0639 -0,0638976 -0,79232205 0,19744546
0,1 0,196803 -0,07974 -0,07974404 -0,78721024 0,19601332
0,12 0,195208 -0,09549 -0,09548825 -0,78083072 0,19426759
0,14 0,193298 -0,1111 -0,11110486 -0,77319166 0,19221109
0,16 0,191076 -0,12657 -0,12656869 -0,76430327 0,18984708
0,18 0,188544 -0,14185 -0,14185476 -0,75417777 0,18717936
0,2 0,185707 -0,15694 -0,15693831 -0,74282939 0,1842122
0,22 0,182569 -0,17179 -0,1717949 -0,73027433 0,18095033
0,24 0,179133 -0,1864 -0,18640039 -0,71653073 0,17739898
0,26 0,175405 -0,20073 -0,200731 -0,7016187 0,17356384
0,28 0,17139 -0,21476 -0,21476338 -0,68556022 0,16945102
0,3 0,167095 -0,22847 -0,22847458 -0,66837915 0,16506712
Problema Ejemplo
Ejemplo
Se puede observar un
error que cada vez se
irá incrementando.
Euler Example
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0 0.5 1 1.5 2
Time (t)
Dis
pla
cem
en
t
x
v
actual value
ii1i
ii1i
4*
*
xtvv
vtxx
Las ecuaciones son definidas como funciones.
Las condiciones iniciales, x(0) = 0.2 and v(0) = 0.
xvxtfdt
dv
vvxtfdt
dx
4,,
,,
2
1
Problema Ejemplo
Los componentes de Runge-Kutta:
ki,j donde i es el paso y j es la función.
2,3i1,3ii11,4
2,2i1,2ii11,3
2,1i1,1ii11,2
iii11,1
,,*
2
1,
2
1,
2*
2
1,
2
1,
2*
,,*
kvkxttftk
kvkxt
tftk
kvkxt
tftk
vxtftk
2,3i1,3ii22,4
2,2i1,2ii22,3
2,1i1,1ii22,2
iii22,1
,,*
2
1,
2
1,
2*
2
1,
2
1,
2*
,,*
kvkxttftk
kvkxt
tftk
kvkxt
tftk
vxtftk
Problema Ejemplo
La actualización de un sólo paso:
Use los valores iniciales x(0) = 0.02 y v(0) = 0
2,42,32,22,1i1i
1,41,31,21,1i1i
*2*26
1
*2*26
1
kkkkvv
kkkkxx
Problema Ejemplo
Ejemplo Metodo de Runge-
Kutta de 4th Orden
t x v k11 k12 k21 k22 k31 k32 k41 k42 Exacto
0 0,2 0 0 -0,016 -0,00016 -0,016 -0,00016 -0,01599 -0,00032 -0,016 0,2
0,02 0,19984 -0,016 -0,00031991 -0,0159872 -0,00047979 -0,01597 -0,00048 -0,01597 -0,000639 -0,016 0,1998
0,04 0,19936 -0,03197 -0,00063932 -0,01594883 -0,00079881 -0,01592 -0,0008 -0,01592 -0,000958 -0,016 0,1994
0,06 0,198562 -0,04788 -0,0009577 -0,01588494 -0,00111655 -0,01585 -0,00112 -0,01584 -0,001275 -0,016 0,1986
0,08 0,197445 -0,06373 -0,00127455 -0,01579564 -0,0014325 -0,01574 -0,00143 -0,01574 -0,001589 -0,016 0,1974
0,1 0,196013 -0,07947 -0,00158935 -0,01568107 -0,00174617 -0,01562 -0,00175 -0,01561 -0,001902 -0,016 0,196
0,12 0,194268 -0,09508 -0,00190162 -0,01554141 -0,00205704 -0,01547 -0,00206 -0,01546 -0,002211 -0,015 0,1943
0,14 0,192211 -0,11054 -0,00221085 -0,01537689 -0,00236461 -0,01529 -0,00236 -0,01528 -0,002516 -0,015 0,1922
0,16 0,189847 -0,12583 -0,00251653 -0,01518777 -0,00266841 -0,01509 -0,00267 -0,01508 -0,002818 -0,015 0,1898
xvxtfdt
dv
vvxtfdt
dx
4,,
,,
2
1
Los puntos tienen
menos error que el
método de Euler.
La aproximación
depende del tamaño
del paso del
problema
4th order Runge Kutta Example
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0 0.5 1 1.5 2 2.5
Time (t)
Dis
pla
cem
ent
v
x
actual value
Ejemplo Metodo de Runge-Kutta de 4th
Orden
Sistemas de EDO -
Problema Valor Inicial
Estas técnicas pueden trabajar con grandes
sistemas de ecuaciones para realizar una serie de
integraciónes del problema. Las ecuaciones se
pueden solucionar como serie de EDOs.
0
0
12212
22
2
2
2
111
12
1
2
1
yykdt
dy
dt
dyc
dt
ydm
ykdt
dyc
dt
ydm
Dando un conjunto de valores iniciales, y1,y2,y’1 e
y’2.
Sistemas de EDO - Problema Valor Inicial
12
2
212
2
22
22
1
1
11
1
11
11
yym
kvv
m
c
dt
dv
vdt
dy
ym
kv
m
c
dt
dv
vdt
dy
El problema es formado por 4 EDOs de primer orden
con cuatro variables y condiciones iniciales.
Sistemas de EDO - Problema Valor Inicial
2
2
1
1
2
2
2
2
2
2
2
2
1
1
1
1
2
2
1
1
1000
00
0010
v
y
v
y
m
c
m
k
m
c
m
k
m
c
m
k
dt
dvdt
dydt
dvdt
dy
El problema puede ser escrito en el formato matricial
y solucionado por consiguiente
.
Sistemas de EDO - Problema Valor Inicial
Fuerzas pueden ser añadidas y fijadas para solucionar
las ecuaciones.
tF
tF
v
y
v
y
m
c
m
k
m
c
m
k
m
c
m
k
dt
dvdt
dydt
dvdt
dy
22
11
2
2
1
1
2
2
2
2
2
2
2
2
1
1
1
1
2
2
1
1
sin
0
sin
0
1000
00
0010
Sistemas de EDO - Problema Valor Inicial
Cuando las condiciones la EDO se dan por lo menos
en algún punto diferente del valor inicial de la
variable independiente.
Sistemas de EDO - Problema Valor Frontera
EI
xMy "
Condiciones de Frontera Condiciones Iniciales
y(0)=0 y(L)=0 y(0)=0 y’(0)=0
36
Método de Diferencias Finitas
Sea la ecuación diferencial ordinaria de segundo orden:
byay
bax
xryxqyxpy
,
'''
Dividiendo el intervalo en (n+1) partes iguales
111100
1210 2
1
nnnn
n
yxyyxyyxyyxy
bxhaxhaxax
n
abh
37
Método de Diferencias Finitas
Sean las fórmulas de diferenciación numérica para la primera
y segunda derivada
2
11
11
2''
2'
h
yyyy
h
yyy
iiii
iii
38
Método de Diferencias Finitas
Reemplazando en la ecuación diferencial para cada nodo i=1, 2, …, n:
iiiiii xryxqyxpy '''
39
Método de Diferencias Finitas
Se tendrá un sistema de n ecuaciones con n incógnitas:
1
0
11
2
11
2
2
:1
n
iiiii
iiii
y
y
xryxqh
yyxp
h
yyy
niPara
40
Método de Diferencias Finitas
Agrupando:
1
0
2
1
2
12
122
1
:1
n
iiiiiii
y
y
xrhyxph
yxqhyxph
niPara
41
Método de Diferencias Finitas
Luego:
1
0
2
1
2
1
2
2
3222
2
12
1
2
2111
2
01
212
21
212
21
212
21
n
nnnnnnn
y
y
xrhyxph
yxqhyxph
xrhyxph
yxqhyxph
xrhyxph
yxqhyxph
42
Método de Diferencias Finitas
Expresado en forma matricial tenemos un sistema tridiagonal:
nn
n
n
n
nn
nn
xph
xrh
xrh
xrh
xph
xrh
y
y
y
y
xqhxph
xph
xqh
xph
xph
xqhxph
xph
xqh
21
21
22
100
212
02
10
212
21
002
12
2
1
2
2
2
11
2
1
2
1
2
11
2
3
22
2
2
11
2
43
Método de Diferencias Finitas
Ejemplo.- Resolver la siguiente ecuacion diferencial ordinaria:
y”-y’-2y=0 con condiciones de frontera: y(0)=0.1 e y(0.5)=0.283.
considere h=0.1.
Solucion.-
Discretización:
x0 x1 x2 x3 x4 X5
0 0.1 0.2 0.3 0.4 0.5
y0 y1 y2 y3 y4 y5
0.1 ?? ?? ?? ?? 0.283
44
Método de Diferencias Finitas
Se usarán las siguientes fórmulas de diferenciación
numérica:
2
11
11
2''
2'
h
yyyy
h
yyy
iiii
iii
Sea la ecuación diferencial para cada nodo “i”:
022
2
4:1
02'"
11
2
11
i
iiiii
iii
yh
yy
h
yyy
iPara
yyy
45
Método de Diferencias Finitas
Reemplazando para cada nodo:
022
2
022
2
022
2
022
2
435
2
345
324
2
234
213
2
123
102
2
012
yh
yy
h
yyy
yh
yy
h
yyy
yh
yy
h
yyy
yh
yy
h
yyy
46
Método de Diferencias Finitas
Teniendo en cuenta que: y0=0.1, y5=0.283 y h=0.1
02283.055283.0100200100
0255100200100
0255100200100
0251.051002001.0100
4343
342432
231321
1221
yyyy
yyyyyy
yyyyyy
yyyy
47
Método de Diferencias Finitas
Planteando y resolviendo el sistema tridiagonal:
2308.0
1879.0
1527.0
1238.0
885.26
0
0
5.10
20210500
952021050
095202105
0095202
4
3
2
1
4
3
2
1
y
y
y
y
y
y
y
y
48
Método del Disparo
Sea la ecuacion diferencial de segundo orden con condiciones de frontera:
Bbu
utu
uutgu
00
',,"
Consiste en transformar el problema de valor frontera en un problema de
valor inicial, suponiendo una pendiente s, luego se desarrolla un método
numérico para encontrar uN(s), se compara con B, si estos valores no son
aproximados se sigue suponiendo pendientes hasta dar en el blanco B.
49
Método del Disparo
El problema de valor inicial resultante:
stu
utu
uutgu
0
00
'
',,"
50
Método del Disparo
51
Método del Disparo
52
Método de Disparo
Ejemplo.- Resolver la siguiente ecuacion diferencial ordinaria:
y”-y’-2y=0 con condiciones de frontera: y(0)=0.1 e y(0.5)=0.283.
considere h=0.1.
Solución.-
366.005.0
1.0283.0
283.0
5.0
0
00
xb
yBs
B
b
Luego debemos resolver el Problema de Valor Inicial:
53
Método de Disparo
366.00
1.00
2'
'
z
y
yzz
zy
Mediante un cambio de variable tendremos un sistema de dos
ecuaciones diferenciales de primer orden:
El cual lo resolvemos por Runge-Kutta de orden 4, como se puede
ver en la siguiente tabla:
Método de Disparo
Resultados mediante Runge-Kutta de orden 4:
i xi yi zi=y’i
0 0.0 0.1 0.36600
1 0.1 0.13966 0.42952
2 0.2 0.18643 0.50876
3 0.3 0.24204 0.60706
4 0.4 0.30861 0.72849
5 0.5 0.38867 0.87803
0s
05 sy
Método de Disparo
Calculando una nueva pendiente aproximada s1:
i xi yi zi=y’i
0 0.0 0.1 0.15466
1 0.1 0.11736 0.19369
2 0.2 0.13901 0.24090
3 0.3 0.16587 0.29815
4 0.4 0.19905 0.36770
5 0.5 0.23991 0.45232
1s
15 sy
15466.0
05.0
38867.0283.0366.0
1
0
0501
s
xb
syBss
Método de Disparo
Mediante interpolación lineal obtenemos la tercera pendiente s3:
i xi yi zi=y’i
0 0.0 0.1 0.21588
1 0.1 0.12382 0.26200
2 0.2 0.15274 0.31849
3 0.3 0.18793 0.38763
4 0.4 0.23078 0.47221
5 0.5 0.28300 0.57564
2s
25 sy
21588.0
38867.023991.0
38867.0283.0366.015466.0366.0
2
0515
050102
s
sysy
syBssss
6
25 103 xBsy
GRACIAS