Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEP
SNEST
DGEST
Profesor:
Ing. Arturo Camargo Snchez
Mtodos de un paso
Los mtodos de un paso tienen por objetivo obtener una aproximacin de la solucin de un
problema bien planteado de valor inicial en cada punto de la malla, basndose en el resultado
obtenido para el punto anterior.
Mtodo de Euler
El mtodo de Euler rara vez se utiliza en la prctica para obtener la solucin aproximada de un
problema de valor inicial, pero se estudia por su simplicidad en la derivacin de la frmula y de la
determinacin del error. Los mtodos de orden superior utilizan las mismas tcnicas, pero el
lgebra que requieren es mucho ms complicada.
Con el mtodo de Euler se obtiene una solucin aproximada de un problema de valor inicial como
el que se muestra en la ecuacin (1), en un conjunto finito de puntos.
(1)
Para empezar, se determina la malla {t0, t1, ... , tN} de paso h, donde t0 = a y tN = b. En
estos puntos es donde se va a obtener la aproximacin de la solucin.
Para determinar la frmula del mtodo, se parte de un desarrollo de Taylor de la funcin
solucin y(t), alrededor de un punto de la malla, ti, suponiendo que la funcin y(t) posee
derivadas primera y segunda continuas en (a, b):
(2)
(3)
(4)
Como y(t) satisface la ecuacin diferencial, en particular es y'(ti) = f(ti, yi), entonces
reemplazando en la frmula (4) resulta:
(5)
(6)
Ejemplo
Consideremos el siguiente problema de valor inicial.
La frmula de Euler para este problema, tomando N puntos en el intervalo [1, 2] (sin
contar el punto de partida a = 1), resulta:
(8)
0
1,
0
0
2,00
00
1,
2
0
2,40
00
1,
4
0
2,97
60
1,
6
0
3,80
93
1,
8
0
5,02
82
2,
0
0
6,83
84
Se ve en los grficos obtenidos, que a medida que nos alejamos del valor inicial, la
solucin aproximada pierde precisin (se aleja de la solucin exacta), para el paso h =
1/20. Cuando se achica el paso, la solucin mejora (h = 1/50).
Anlisis del error
Al deducir la frmula de Euler para aproximar la solucin de un PVI tipo (1), al pasar de la
expresin (5) a la (6), se descart en la expresin el error, dado por
(9)
(10)
Y tambin que h = (tN t0)/N, se tiene que despus de N pasos, el error global acumulado
es:
(11)
Mtodos de Taylor
Se presenta de nuevo el problema de valor inicial cuya solucin se intenta aproximar:
(1)
Como en el mtodo de Euler, se determina primero la malla {t0, t1, ... , tN} de paso h, donde
t0 = a y tN = b. En estos puntos es donde se va a obtener la aproximacin de la solucin.
El mtodo de Euler se obtuvo aplicando el desarrollo de una funcin en polinomios de
Taylor con n = 1, para aproximar la solucin de la ecuacin diferencial del problema (1). El
error local de este mtodo, dado por el error de la frmula de Taylor, result O(h2),
llevando a un error global de O(h). Con el objeto de encontrar un mtodo que mejore las
propiedades de convergencia, se pueden utilizar, de la misma manera, polinomios de
Taylor de mayor grado.
Se supone que la solucin y(t) del problema de valor inicial (1) tiene (n+1) derivadas
continuas. Si se hace un desarrollo de Taylor de la funcin y(t) alrededor del punto ti se
tiene:
(2)
para algn nmero i entre ti y t. Si se evala la expresin (2) en t = ti+1, para cualquier i, y
como ti+1 - ti = h, se tiene, para i entre ti y ti+1
(3)
y'''(ti ) = f''(ti, yi) = [ftt 1 + fty y' + fyt 1 + fy' f + fy f ']i = [ftt + fty f + (fyt 1 + fyy y')f + fy (ft +
fy f)]i
=
(4)
La ecuacin dada por (4) se llama ecuacin de diferencias, y define el mtodo de Taylor
de orden n, que se obtiene suprimiendo el trmino de error que contiene el valor
desconocido i.
Por lo tanto, la frmula del mtodo de Taylor de orden n resulta:
(5)
Dado el PVI descripto por la expresin (1) tenemos que el mtodo de Taylor de orden 1,
tomando n = 1 en la frmula (5), resulta:
(6)
(7)
Esta frmula tiene un error local de O(h3), y un error global de O(h2). Es ms precisa que
la frmula de Euler, pero requiere el clculo de la derivada de la funcin f(t, y).
Mtodo de Taylor de orden 4
Segn la expresin (5) para n = 4, el mtodo de Taylor de orden 4 es:
Esta frmula tiene un error local de O(h5), y un error global de O(h4). Su precisin es
mayor que las frmulas (6) y (7), pero tiene el inconveniente del clculo de hasta la tercer
derivada de f(t, y).
Ejemplo
(9)
(10)
Por ltimo, reemplazando las derivadas en la frmula (7), resulta la frmula del mtodo de
Taylor de orden 4:
(11)
Con el valor de h = 0,25 se obtuvieron los valores que se muestran en la tabla, para los
mtodos de Euler y de Taylor de orden 2 y 4, segn las frmulas (10) y (11), y los errores
absolutos de todos los mtodos, respecto de la solucin exacta, que en este caso se
puede calcular en forma analtica, mediante separacin de variables.
t
0,00
0,25
0,50
0,75
1,00
1,25
1,50
1,75
2,00
Error
Euler
Euler
Taylor 2
1,0000000 0,0000000 1,0000000
0
0
0
1,0000000 0,0317434 1,0312500
0
07
00
0,0706484 1,1299438
1,0625000
53
48
0,1294722 1,3153252
1,1953125
59
60
1,4194335 0,2292876 1,6261736
9
77
13
1,7742919 0,4099088 2,1343528
9
19
67
2,3287582 0,7514586 2,9722531
4
09
13
3,2020425 1,4219105 4,3887174
8
73
87
4,6029362 2,7861198 6,8659427
7,3890561
1
91
88
exacta
1,0000000
0
1,0317434
1
1,1331484
5
1,3247847
6
1,6487212
7
2,1842008
1
3,0802168
5
4,6239531
5
Error
Taylor 2
0,00000000
0,00049340
7
0,00320460
5
0,00945949
9
0,02254765
8
0,04984794
4
0,10796373
6
0,23523566
5
0,52311331
1
Taylor 4
Error Taylor
4
1,00000000
0,00000000
1,031738281 5,1265E-06
1,133103361 4,50921E-05
1,324639601 0,000145158
1,648348707 0,000372564
2,183310836 0,000889975
3,078122306 0,002094543
4,618968259 0,004984894
7,376895196 0,012160903
En el siguiente grfico se pueden ver las soluciones obtenidas con los distintos mtodos,
y la proximidad a la solucin exacta de cada una de ellas.
(1)
Como en los mtodos anteriores, se determina primero la malla {t0, t1, ... , tN} de paso h,
donde t0 = a y tN = b. En estos puntos es donde se va a obtener la aproximacin de la
solucin.
En esencia, los mtodos de Runge-Kutta son generalizaciones de la frmula bsica de
Euler yi+1 = yi + h f(ti, yi) en los que el valor de la funcin f se reemplaza por un promedio
ponderado de valores de f en el intervalo ti t ti+1, es decir,
(2)
En esta expresin las ponderaciones wi, i = 1, ..., m son constantes para las que en
general se pide que su suma sea igual a 1, es decir, w1 + w2 + ... + wm = 1, y cada kj es la
funcin f evaluada en un punto seleccionado (t, y) para el cual ti t ti+1. Se mostrar que
los kj se definen en forma recursiva.
Se define como orden del mtodo al nmero m, es decir, a la cantidad de trminos que
se usan en el promedio ponderado.
Runge-Kutta de primer orden
Si m = 1, entonces se toma w1 = 1 y la frmula (2) resulta
(3)
Igualando esta frmula al desarrollo de Taylor de orden 1 de la funcin y(t), alrededor del
punto ti, y calculado en el punto ti+1:
(4)
y teniendo en cuenta que yi y(ti), resulta k1= f(ti, yi), obteniendo as la frmula de Euler
yi+1 = yi + h f(ti, yi). Por lo tanto, se dice tambin que el mtodo de Euler es un mtodo de
Runge Kutta de primer orden.
Runge-Kutta de segundo orden
Ahora se plantea, con m = 2, una frmula del tipo:
(5)
donde
(6)
(7)
donde el subndice i indica que todas las derivadas estn evaluadas en el punto (ti, yi).
Reemplazando k1 y teniendo en cuenta la expresin de k2, usando (7) tenemos que:
(8
)
agrupando los trminos de (8) por las potencias de h, y reemplazando en la expresin (5)
el valor de k1 y k2, resulta
(9
)
(10
)
Por otro lado, se hace un desarrollo de Taylor de orden 3 de la funcin y(t), calculado en el
punto ti+1, obteniendo:
(11)
(12)
Comparando las expresiones (10) y (12), e igualando los coeficientes de h y h2, se tiene:
(13)
Sucede que se tienen cuatro incgnitas, pero tres ecuaciones, con lo que queda un grado
de libertad en la solucin del sistema dado en (13). Se trata de usar este grado de libertad
para hacer que los coeficientes de h3 en las expresiones (10) y (12) coincidan. Esto
obviamente no se logra para cualquier f.
Hay muchas soluciones para el sistema (13), una de ellas es
(14)
(15)
(16)
Ejemplo
Con el mtodo RK4, obtener una aproximacin del valor de y(1,5) para el siguiente
problema de valor inicial, tomando un paso h = 0,1.
El primer paso para resolver este problema es determinar la malla de puntos en donde se
va a obtener la solucin.
Como en este caso h est dado, se tiene que N = (1,5 - 1)/0,1 = 5.
Por lo tanto, los puntos en donde se va a determinar la solucin, dados por la frmula ti =
1 + 0,1 i, para i =1,2,3,4,5, son:
t1 = 1,1
t2 = 1,2
t3 = 1,3
t4 = 1,4
t5 = 1,5
Una vez establecida la malla del problema, tenemos, para i = 0:
Resulta entonces,
(1)
Si se considera la condicin inicial y(0) = 0, la solucin analtica que se obtiene est dada
por:
(2)
(3)
Con la condicin y(0) = y0, se obtiene la solucin que se muestra en (4), que
asintticamente se aproxima a cero, comenzando en el valor y0.
(4)
(5)
(6)
por lo que podemos decir que yi = y0(1-ah)i. Para que esta solucin numrica sea acotada,
deber ser |1-ah| 1. De aqu surge que si h > 2/a, entonces |yi| crece indefinidamente
cuando i tiende a infinito.
Por lo tanto, en la solucin numrica de (1) mediante el mtodo de Euler, para mantener
la estabilidad, se debe tomar h 2/1000 = 0,002. Con este valor se logra estabilidad, pero
para lograr precisin en la solucin, se debera tomar un valor ms chico de h. Si el
intervalo en donde se busca la solucin es grande, es claro que esta cota del paso
implicar una gran cantidad de iteraciones.
La familia de los mtodos multipasos de Gear se adapta particularmente bien para brindar
una solucin numrica de sistemas de EDO rgidos. Veamos cmo se deducen las
frmulas de estos mtodos.
6.4. Mtodos multipaso
Mtodos de Gear
Recordemos que la frmula general de los mtodos multipasos est dada por:
(7)
y tambin, que esta frmula da el valor exacto para y(tn+1) cuando y(t) es un polinomio de
grado menor o igual a k si se cumplen las siguientes restricciones de exactitud (tambin
llamadas restricciones de consistencia):
(8)
La familia de los mtodos multipasos de Gear est identificada por tener todos los
coeficientes bi, excepto b-1, nulos; en oposicin a los mtodos de Adams que tienen todos
los coeficientes ai nulos, excepto a0. Obviamente, dado que b-1 0, los mtodos de Gear
son mtodos implcitos.
El mtodo de Gear de orden k se obtiene haciendo p = k-1, y b0 = b1 = b2 = ... = 0,
conduciendo a la frmula:
(9)
Los k+1 coeficientes de esta frmula pueden obtenerse aplicando las restricciones de
consistencia (8), anlogamente como se hizo con los mtodos de Adams, resultando:
(10)
(11)
La solucin del sistema (11) determina en forma nica los k+1 coeficientes necesarios
para el mtodo de Gear de orden k.
Por ejemplo, la frmula del mtodo de Gear de tercer orden, se obtiene resolviendo el
sistema dado en (11), para el valor k = 3:
(12)
Resolviendo el sistema dado en (12), se obtienen los valores: b-1 = 6/11, a0 = 18/11, a1 =
-9/11 y a2 = 2/11, resultando entonces la frmula del mtodo:
(13)
Cuando se implementa este algoritmo, se deben guardar en memoria los valores wn-2, wn1 y wn, y se debe resolver la ecuacin (13) con algn mtodo iterativo, si la funcin f(y, t)
es no lineal.
Heun
El metodo de Heun calcula la pendiente en un punto inicial (xi,yi)
m=k1=f (xi,yi)
y con el estima un nuevo punto;
(xi+h , yi+k1h)
yi
k1
xi+h
yi+k1h
k2
0
0.25
0.5
0.75
1
1
0.7685
0.6083
0.5115
0.4716
-1.1
-0.7972944
-0.5170909
-0.2749411
0.25
0.5
0.75
1
0.725
0.56915295
0.47906953
0.44278312
-0.7521875
-0.48378
-0.2574999
-0.0442783
h=
0.1
xi
yi
k1
xi+h
yi+k1h
k2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1
0.8965
0.8053
0.7263
0.6589
0.6026
0.5566
0.5202
0.4931
0.4750
0.4658
-1.1
-0.9771796
-0.8536189
-0.7335256
-0.6193659
-0.5121766
-0.4118486
-0.317347
-0.2268435
-0.1377425
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.89
0.79877705
0.71993895
0.65291042
0.59696332
0.55134301
0.51536729
0.48850632
0.47045367
0.46120002
-0.9701
-0.8467037
-0.7271383
-0.6137358
-0.5074188
-0.4079938
-0.314374
-0.2247129
-0.1364316
-0.04612
Yi+1=
yi+(k1+k2)*h/2
0.76847656
0.60834226
0.51151841
0.47161598
Yi+1=
yi+(k1+k2)*h/2
0.896495
0.80530084
0.72626298
0.65889991
0.60256067
0.55655215
0.52024102
0.49313802
0.47497427
0.46578114
Grafica que compara la solucion analitica con la obtenida por el metodod con h=0.25 u
h=0.05.
Punto medio
El metodo de punto medio calcula la pendiente en un punto inicial (xi,yi)
m=k1=f (xi,yi)
y con el estima un nuevo punto localizado a la mitad de la distancia h;
(xi+0.5*h , yi+0.5*k1h)
Con este punto calcula una nueva pendiente
m=k2=f (xi+0.5*h , yi+0.5*k1h)
y con esta nueva pendiente calcula el yi+1
yi+1=yi+(k2)*h
Ejemplo
(dy/dx)=yx^2-1.1y
donde y(0)=1
para x=[0,1]
Con un h=0.25 y realiza nuevamente tus calculos pero con h=0.05
h=
0.25
xi
yi
k1
Xi+0.5h
yi+0.5k1h
k2
Yi+1=k2*h
0
1
-1.1
0.125
0.862500 -0.9352734 0.76618164
0.25 0.76618164 -0.7949135
0.375
0.666817 -0.639728 0.60624964
0.5 0.60624964 -0.5153122
0.625
0.541836 -0.3843646 0.51015848
0.75 0.51015848 -0.2742102
0.875
0.475882 -0.1591231 0.4703777
1 0.4703777
h=
0.1
xi
yi
k1
xi+0.5h
yi+0.5k1h
k2
Yi+1=k2*h
0
1
-1.1
0.05
0.945 -1.0371375 0.89628625
0.1
0.8963 -0.976952
0.15 0.84743865 -0.9131151 0.80497474
0.2
0.8050 -0.8532732
0.25 0.76231107 -0.7908977 0.72588496
0.3
0.7259 -0.7331438
0.35 0.68922777 -0.6737201 0.65851295
0.4
0.6585 -0.6190022
0.45 0.62756284 -0.5632376 0.60218918
0.5
0.6022 -0.5118608
0.55 0.57659614 -0.4598354 0.55620564
0.6
0.5562 -0.4115922
0.65 0.53562603 -0.3628866 0.51991698
0.7
0.5199 -0.3171494
0.75 0.50405951 -0.270932 0.49282378
0.8
0.4928 -0.2266989
0.85 0.48148883 -0.181762 0.47464757
0.9
0.4746 -0.1376478
0.95 0.46776518 -0.0923836 0.46540921
1
0.4654
Grafica que compara la solucion analitica con la obtenida por el metodod con h=0.25 u
h=0.05.
Runge-Kutta 4 orden
El metodo de Runge-Kutta 4 orden se calculan cuatro pendiente en los siguientes puntos.
m=k1=f (xi,yi)
m=k2=f (xi+0.5*h,yi+0.5*k1h)
m=k3=f (xi+0.5*h,yi+0.5*k2h)
m=k4=f (xi+h,yi+k3h)
y con estas cuatro pendientes se calcula el yi+1
yi+1=yi+(k1+2*k2+2*k3+k4)*h/6
Ejemplo
(dy/dx)=yx2-1.1y
donde y(0)=1
para x=[0,1]
Con un h=0.25 y realiza nuevamente tus calculos pero con h=0.05
)
=
p
(
t
i
)
y
'
(
t
i
)
+
q
(
3
)
(
t
i
)
y
(
t
i
)
+
r
(
t
i
)
En la expresin dada en (3), se deben
aproximar los valores de y''(ti) e y'(ti),
mediante cocientes de diferencias
finitas.
Para aproximar la derivada segunda, se
hace un desarrollo de Taylor de y
alrededor de ti (se supone que y tiene
derivada cuarta continua en el intervalo
[ti-1, ti+1]):
(
4
)
Ahora se calcula este desarrollo en ti+1,
y teniendo en cuenta que ti+1 - ti = h,
resulta
(
5
)
y se calcula tambin (4) en ti-1;
teniendo en cuenta que ti-1 - ti = - h,
resulta
(
6
)
Sumando miembro a miembro (5) y (6),
se eliminan los trminos que tienen y' e
y''', resultando:
(
7
)
Aplicando el teorema del valor
intermedio, se puede reducir el trmino
del error, resultando:
(
8
)
Esta aproximacin de la derivada segunda dada en (8) es llamada frmula de las
diferencias centradas para y''(ti). Teniendo en cuenta la expresin del error en (8),
esta frmula tiene orden de precisin 2.
Anlogamente, haciendo un desarrollo de Taylor de orden 2 alrededor de ti,
evaluando este desarrollo en ti+1 y enti-1, y restndolos miembro a miembro, se obtiene
la siguiente frmula de aproximacin para la derivada primera, que tambin tiene
orden de precisin 2 :
(9)
(10
)
(11)
w0 = a wN+1 = b
(12)
(13)
(14)
(15)
Este sistema tiene solucin nica, cuando se cumplen las condiciones dadas en el
siguiente teorema:
Teorema:
Supongamos que p, q y r son funciones continuas en [a, b]. Si q(t) 0 en [a, b],
entonces el sistema tridiagonal dado en (15) tiene solucin nica siempre y
cuando h < 2/L, siendo L = max(|p(t)|, t [a, b] )
Las condiciones de este teorema garantizan solucin nica al problema de frontera dado
en (3), pero para asegurarnos que el error de truncamiento sea del orden de h2, debemos
asegurarnos que y(4) es continua en [a, b].