Tema 4

´ A LOS
INTRODUCCION
´
´
METODOS
NUMERICOS

EJERCICIO 4.1 Sea el problema de valor inicial:
dy
= (t − y) ,
dt

y(0) = 2 .

Encontrar y(1) utilizando el m´
etodo de Euler de paso h = 0.2
• La ecuaci´on diferencial permite ser resuelta por diversos m´etodos de integraci´
on,
siendo su soluci´on general
y(t) = t − 1 + ce−t ,

c ∈ IR .

La soluci´on particular que pasa por y(0) = 2 es
y(t) = t − 1 + 3e−t .
En consecuencia
y(1) = 1.10364
• A continuaci´on vamos a utilizar el m´etodo de Euler
yk+1 = yk + h f (tk , yk ) ,

lxxxi

k = 0, 1, 2, · · · , n − 1

{i.}.10364 − 0. 0.2 (0.0288) = 0.92% . 1.32 + 0. {0. h = 0.10364 − 0.6 − 1. n = 5. a = 0.136}.0288 = y4 + h f (t4 . y0 ) = 2 + 0.8 − 1.136 = y3 + h f (t3 .6 = y1 + h f (t1 . n = 5. . La respuesta a nuestro ejercicio ser´a Table[{nodo[[i]].lxxxii Tema 4 Introducci´ on a los m´ etodos num´ ericos para encontrar un valor aproximado de y(1). y4 ) = 1. h = (b − a)/n. datos = {2. y) = t − y.98304 = 0. 2.0288}.32) = 1.2. {0. y1 ) = 1.1206.}. f[t .136 + 0. datos[[i]]}. i <= n + 1. n}].98304 El error que se comete ser´a de 1.6) = y3 y(0. AppendTo[datos. {0. o en forma de porcentaje |1.98304| = 0. 1.0 − 2) = 1. {i. nodo = Table[a + ih..1.2 − 1. PlotJoined− > True] El resultado puede verse en la Figura 7.6) = 1. {i. y2 ) = 1.0288 + 0.2) = y1 y(0.32 = y2 + h f (t2 . 0.10364 ⇒ 10. {0.6}. 1. datos[[i − 1]]+ hf[nodo[[i − 1]]. datos[[i − 1]]]]]. n + 1}].6. y3 ) = 1. f (t.32}. y ] := t − y.6 + 0. Estos datos podemos representarlos a trav´es de la siguiente instrucci´on: aproximada = ListPlot[Table[{nodo[[i]].1092 1. Empezamos introduciendo los datos. y0 ) = (0.0) = y5 = y0 + h f (t0 . n + 1}] {{0.2 (0.2 (0.2 (0. {1. i + +. b = 1..4) = y2 y(0. A continuaci´on aplicamos el m´etodo de Euler y guardamos los resultados en la lista que tiene por nombre datos..4 − 1.8. 2) .4.2. De esta manera: y(0.136) = 1. datos[[i]]}. 1. En este ejercicio.. (t0 .2 (0. • El ejercicio tambi´en puede ser resuelto haciendo uso del Mathematicar .8) = y4 y(1. For[i = 2.98304}} .

solucion = DSolve[y0 [t] == t − y[t].3054720 . b}. • Tambi´en podemos resolver el problema de valores iniciales con las siguientes instrucciones. EJERCICIO 4. Azul: soluci´on exacta. . {t. • La ecuaci´on diferencial es lineal de primer orden. graficaexacta]. La soluci´on exacta del ejercicio viene dada por y(t) = (t + 1)2 − 0. Rojo: soluci´on aproximada. dt 0 ≤ t ≤ 2. 0.1. y superponemos las dos gr´aficas: Show[aproximada. t] solecuacion = y[t]/. y(0) = 0.02.solucion[[1]] constante = Solve[(solecuacion/.constante[[1]] Finalmente dibujamos la soluci´on exacta (ver Figura 7.lxxxiii Figura 7.02}]}]. con n = 10.2 Utilizar el m´ etodo de Euler para aproximar la soluci´ on del problema de valor inicial: dy = y 0 = y − t2 + 1 .5 .) graficaexacta = Plot[solucionexacta.1. PlotStyle → {Dashing[{0. a.t → 0) == 1. C[1]] solucionexacta = solecuacion/. y[t].5et ⇒ y(2) = 5.

1799415 3.7324000 4.0 yk 0. · · · . y) = y − t2 + 1. y0 ) = (0. Obtenemos de esta manera la partici´on tj con j = 0.1.2 0.4517734 3.1.4581760 2.0985406 0.lxxxiv Tema 4 Introducci´ on a los m´ etodos num´ ericos • Si utilizamos el m´etodo de Euler con h = 0.2301303 0.6 0.0620877 0. EJERCICIO 4.15200000 1.4281538 4.0 1. y 0 = −2ty .3054720 ERROR 0.3870225 0. · · · . k = 0. n = 10 .9501281 4. Observemos como los errores crecen a medida que aumentamos los valores de tk . tk 0.5000000 0.9498112 3. 2.8 2.1272295 2.5) . obtenemos los valores reflejados en la Tabla 7. .8151763 5. 0.5000000 0.8657845 y(0) 0. y(0) = 1 .8000000 1.2834838 4.8 1.1. Esto es consecuencia de la poca estabilidad del m´etodo de Euler. yk ) = yk − 2htk yk . entonces obtenemos los valores que aparecen en la Tabla 7.6408591 3. para calcular un valor aproximado de y(1) del problema.6 1.2806266 0.3678794412 • Tomamos el intervalo [0. 1] y lo dividimos en diez partes. Por tanto y(1) = 0.3 Aplicar el m´ etodo de Euler con h = 0.8292986 1.6489406 2.9884800 2.2.1387495 0.3333557 0. es la soluci´on del problema de valor inicial.0000000 0. 9 .2 1.1826831 0. Si aplicamos el m´etodo de Euler yk+1 = yk + hf (tk .0292986 0.4396874 Tabla 7. f (t. 1. con y0 = y(0) = 1.4 0.2140877 1. 1.4 1.5504000 1. 2 • Es f´acil comprobar que y = e−t . (t0 . 2.2.0 0. 10.

2.01382 – Tabla 7. · · · .3 0.03480 tk 0. dt y(0) = 2 . k = 0. • Podemos comprobar como el error crece cuando aumentamos el valor de k.1 Figura 7. que es mucho menor que cuando el paso era h = 0. aproximado.3678794| = 0. Ahora.1 0. EJERCICIO 4.3691201 es un valor aproximado de y(1).lxxxv tk 0. yk ) + 2! µ df (t.46549 0.00000 0. y) ∂f (t.6 0.2.00000 1. el error cometido es |0.9 1. 1.00000 0.81360 ERROR 0.64437 0.55416 0.88435 0.2.4 Resolver el problema de valor inicial dy = t−y.0 0. • Sabemos que para este m´etodo yk+1 h2 = yk + hf (tk .03220 0. y) dt ¶ . dt ∂t ∂y dt .4 0.00995 0. y) ∂f (t.02686 0.01921 0. utilizando el m´ etodo de Taylor de segundo orden y con un paso h = 0. y) dy = + .02686 0.2 0.3691201 − 0.5 yk 1.8 0.38170 – ERROR 0.03456 0. Azul: valor.0012406.020637 0. n .94080 0.yk ) donde df (t. Utilizando el software adecuado es f´acil ver que y100 = 0.03174 0.98000 0.73224 0.7 0. Rojo: valor exacto. (tk .0 – yk 0.

dy1 = y0 [t].2(0.2(0 − 2) + Del mismo modo h2 y2 = y(0.2) = y0 + hf (t0 . y0 ) + 2! = y0 + h(t0 − y0 ) + = 2 + 0. y un error porcentual del 0.66 + 0. t− > u} s2[u . a = 0. dy2 = D[y0 [t]. datos = {2.00858.lxxxvi Tema 4 Introducci´ on a los m´ etodos num´ ericos En nuestro caso. y) dt ¶ (t1 .78%. y1 ) + 2! = y1 + h(t1 − y1 ) + µ µ df (t. df (t. n = 5. nodo = Table[a + ih.10364 = 0. y0 [t] = t − y[t]. y) dt ¶ (t0 . . 2 Aplicando de forma reiterativa este proceso obtenemos y3 = y(0. 0. b = 1.2 − 1.254 . t].22 (1 − 0.{y[t]− > v.11222 − 1. t− > u} . v ] := dy1/. n}]. Ahora. y) = 1−t+y. dt y en consecuencia h2 y1 = y(0. y4 = y(0.66) = 1..66) + 0.{y[t]− > v. 2 df (t. v ] := dy2/.2 + 1.}. y5 = y(1) = 1. s1[u .4) = y1 + hf (t1 . Las primeras instrucciones corresponden a la introducci´on de los datos.h = (b − a)/n.66 .15637.4172 .y0 ) h2 (1 − t0 + y0 ) 2! 0. tenemos que construir las funciones que nos dan las derivadas primera y segunda de cualquier soluci´on de la ecuaci´on diferencial asociada a nuestro problema.y1 ) h2 (1 − t1 + y1 ) 2! = 1.6) = 1..22 (1 − 0 + 2) = 1. • A continuaci´on resolveremos este mismo ejercicio con Mathematicar .11222 El error absoluto que cometemos es 1. {i.8) = 1.

4 1. {i. aux]].13233327 2.2158000 1.2 0. yk 3. 1.3. n + 1}]] {{0.0226626 0. datos[[i]]}. y(t)) d = (y − t2 + 1) = y 0 − 2t = y − t2 + 1 − 2t . El resultado puede visualizarse a trav´es de la instrucci´on Print[Table[{nodo[[i]].0 0.3061464 4.11222}} EJERCICIO 4. n . y) dt ¶ .1) ..3. {0. aux = datos[[i − 1]]+ h ∗ s1[nodo[[i − 1]].7486446 4.6520760 2.8 2.2. {1.6. Para ello necesitamos conocer df (t. tk 0. 2.4172}. · · · . {0. programando el m´etodo de Taylor For[i = 2. k = 0. 1. i <= n + 1. 1.4. i + +. {0. {0.011465 0.0 yk 0. y(0) = 0.0311223 0.0031354 0. datos[[i − 1]]].5 . (tk . dt dt con lo cual podemos aplicar yk+1 h2 = yk + hf (tk .0 - Tabla 7.4 0.0422123 (4.}. 1. 1.0077868 tk 1.5000000 0.yk ) y obtenemos los valores que aparecen en la Tabla 7.6 1. • Empezamos analizando el caso de orden dos.lxxxvii Posteriormente construimos las aproximaciones. AppendTo[datos.2 1. con n = 10.66}.0051032 0.1913480 3. yk ) + 2! µ df (t.3476843 - ERROR 0.6 0.6486459 ERROR 0 0.0162446 0.8300000 1.8462986 5.8 1. datos[[i − 1]]]+ (h2 /2)s2[nodo[[i − 1]]. 2.5 Aplicar el m´ etodo de Taylor de ´ ordenes dos y cuatro al problema de valor inicial dy = y 0 = y − t2 + 1 ..15637}.8. dt 0 ≤ t ≤ 2.0017123 0.0007014 0.2541}.

4. 0. EJERCICIO 4.0 yk 0. 0.2 0.0000615 0.7324321 4.8152377 5.5) + 0. d2 f (t.82930 .0000014 0.0000321 0.yk ) h3 3! µ d2 f (t. .4 0. 0.8293000 1.0000834 Tabla 7.0000225 0 . y) dt ¶ + (tk .6408744 ERROR 0 0.14 000 2 f (0.12 0 2 f (0. y(t)) d = (y − t2 + 1 − 2t) = y 0 − 2t − 2 = y − t2 − 2t − 1 2 dt dt d d3 f (t. y(0) = 1 .6 1.6 0.0 - yk 3.5) + 0.yk ) Un valor aproximado de y(0.6489468 2.1.0000101 0.5) Aplicando de forma reiterada la f´ormula anterior.8 2.0000153 tk 1.5) + = 0. 0. tk 0.0000034 0.2835285 4.4.yk ) ¶ . 0.2) lo calculamos como y1 = 0. y) dt2 ¶ (tk .5000000 0. y) dt3 h2 2! µ df (t. y(t)) = (y − t2 − 2t − 1) = y 0 − 2t − 2 = y − t2 − 2t − 1 3 dt dt y sustituir en la expresi´on yk+1 = yk + hf (tk .0 0.5 + 0.2140910 1. yk ) + h4 + 4! µ d3 f (t. tomando h = 0.1799640 3.lxxxviii Tema 4 Introducci´ on a los m´ etodos num´ ericos • Para aplicar el m´etodo de Taylor de orden cuatro previamente necesitamos conocer las siguientes derivadas.0000062 0. obtenemos los valores que aparecen en la Tabla 7.3055554 - ERROR 0.2 1.0000447 0.1272396 2.4 1.1f (0.13 00 6 f (0.6 Aplicar el m´ etodo de Taylor de orden dos para calcular el valor aproximado de y(1) en el problema de valores iniciales y 0 = −2ty .8 1. (tk .

89686871×10−4 1.8 0.4 0.53358646×10−3 2.6 0.2 0.7 Encontrar un valor aproximado de y(1).7 0.0 yk 0. con h = 0.61009 0. respecto de t.96049 0.52455 0.lxxxix • Calculamos la derivada de la funci´on y 0 = f (t. tk 0 0.2(−1.85095 0. y0 ) = f (0. yk ) + h2 df (tk .76075569×10−3 2.7 2 2 2 2 k3 = f (t0 + h hk2 0.99 0.1 0.73 2 2 2 2 k4 = f (t0 + h. yk+1 = yk + hf (tk .36526 ERROR 2.2.44209 0.70555464 ×10−3 tk 0.2(−2) h . 2+ ) = −1.61864321 ×10−3 EJERCICIO 4. 6 .7) .69550 0. y) = −2ty. y) = y 00 (t) = −2y − 2ty 0 = −2y − 2t(−2ty) = −2y + 4t2 y .2 0. 2) = 0 − 2 = −2 k2 = f (t0 + hk1 0. y(0) = 2 .9 1. yk ) h2 = yk − 2htk yk + (−2yk + 4t2k yk ) 2 dt 2 Los resultados que se obtienen pueden verse en la tabla siguiente.5 yk 1 0.2 × (−1. 2+ ) = −1. del siguiente problema de valores iniciales y 0 = f (t. 2 + 0. por el m´ etodo de Runga-Kutta de cuarto orden. y) = t − y .2 0.98337491×10−5 2.73)) = −1.2 • En primer lugar debemos encontrar las constantes k1 = f (t0 .91324 0. y0 + ) = f (0 + .18536075×10−4 1.3 0. df (t. dt En consecuencia.91439152×10−4 6. y0 + hk3 ) = f (0 + 0.73462797×10−3 2.77709 ERROR 0 4.454 y a continuaci´on aplicar la f´ormula yk+1 = yk + h (k1 + 2k2 + 2k3 + k4 ) .17608927 ×10−3 2. y0 + ) = f (0 + .

b = 1. y4 = y(0. datos[[i − 1]] + (h/2)k1]. i <= n + 1. a = 0. 1. k1 = f[nodo[[i − 1]]. n}].xc Tema 4 Introducci´ on a los m´ etodos num´ ericos para saber un valor aproximado de y(0.6562}. datos[[i − 1]] + (h/2)k2]. {i.41097 .7) + 2(−1.41097}.}. datos[[i − 1]] + (h/6)(k1 + 2k2 + 2k3 + k4)]]. datos[[i]]}. 1. 1. y1 = y0 + 2+ h (k1 + 2k2 + 2k3 + k4 ) = 6 0. 2.. • A continuaci´on utilizaremos el programa Mathematicar . h = (b − a)/n.24645 y5 = y(1.10366}} EJERCICIO 4. El error que se comete es de 0. datos = {2.4. • Utilizando el mismo procedimiento del ejercicio anterior se llega a la tabla: ...1 para obtener un valor aproximado de y(1) en el siguiente problema de valor inicial. k2 = f[nodo[[i − 1]] + h/2. 0.2). {0. nodo = Table[a + ih. f[t .6) = 1.73) − 1. {0. {0.0) = 1.0009%. n + 1}]] {{0. y(0) = 1 . {i.14801 .24645}.454) = 1. {1.4) = 1. y ] := t − y. {0.6. datos[[i − 1]] + hk3]. 1.}.8 Aplicar el m´ etodo de Runge-Kutta de orden cuatro con h = 0. n = 5. 1.6562 6 Repitiendo el proceso.. y3 = y(0. e imprimimos los resultados Print[Table[{nodo[[i]].2.10366 . For[i = 2. y 0 = −2ty . k4 = f[nodo[[i − 1]] + h. AppendTo[datos.8) = 1. i + +.8. datos[[i − 1]]].00001 y un error porcentual del 0.148}.2 (−2 + 2(−1. obtenemos las aproximaciones y2 = y(0. k3 = f[nodo[[i − 1]] + h/2.

00498 0. y) = −4y + cos t . x.38813 0.91393 0.4 0.96078 0.1 0.00000 0.0 0.19829 0.5 xk 0.6 0. xk + hαk3 .3 0.9 Aplicar el m´ etodo de Runge-Kutta de orden cuatro para calcular el valor aproximado de x(1) e y(1) en el problema de valores iniciales ½ 0 x (t) = f (t.1 0.04333 0. yk + hβk3 ) La tabla de las soluciones con h = 0.2 0.32571 – yk 0. xk .62525×10−6 EJERCICIO 4.2 0.0 - yk 0.99004 0.8 0.7 0.09917 0.9 1.15806×10−7 5.44223 0.00000 0. yk ) βk1 = g(tk . • Tenemos que utilizar xk+1 = xk + h (αk1 + 2αk2 + 2αk3 + αk4 ) 6 yk+1 = yk + h (βk1 + 2βk2 + 2βk3 + βk4 ) 6 donde αk1 = f (tk . xk + . x(0) = 0 y 0 (t) = g(t.06502×10−7 9.07478 0.34843 0.77880 ERROR 0.69767 0.31881 – .43314 0.19339 0. xk + . yk + ) 2 2 2 αk4 = f (tk + h. yk + ) 2 2 2 βk2 = g(tk + h hαk1 hβk1 .42726 0. y) = x .64987×10−8 2.44485 0.27792 0. yk + ) 2 2 2 βk3 = g(tk + h hαk2 hβk2 .52770×10−9 tk 0. xk + . yk ) αk2 = f (tk + h hαk1 hβk1 .3 0. yk + hβk3 ) βk4 = g(tk + h.5 yk 1.8 0.24196 0.7 0. xk .xci tk 0.40117 yk 0.91674×10−9 1. x.0 0.01967 0.6 0.15834×10−10 3.61262 0.70467×10−7 1.11242 tk 0.0 – xk 0.52729 0. y(0) = 0 tomando h = 0.1 es la siguiente tk 0.00000 0.9 1.12525×10−8 1.28293 0.15432 0.00000 4. xk + hαk3 . yk + ) 2 2 2 αk3 = f (tk + h hαk2 hβk2 .11067 ×10−8 2.36788 - ERROR 6.85214 0.4 0.1. xk + .

. 3] . 1.1 3..1 t t (b) y 0 = sen t + e−t . 1. t ∈ [0 . .8t − 0. t ∈ [0 . h = 0.. y(0) = 0 . ..Usar el m´etodo de Euler para aproximar las soluciones para cada uno de los siguientes problemas: (a) (b) y 0 = te3t − 2y y 0 = 1 + (t − y)2 . 2.a. h = 0.c. Encontrar la soluci´on por el m´etodo de RungeKutta de orden cuatro.Representar en un mismo gr´afico. h = 0. 1..0] .... y(2) = 1 .Supongamos que h = 0. t ∈ [0.Encontrar la soluci´on exacta y(t). 3 y 4.1. 4] . en el punto 4. y(0) = 1 .Resolver el ejercicio anterior haciendo uso del m´etodo de Taylor de orden dos y de orden cuatro.Considerar el problema de valor inicial: y 0 = f (t. 1. t ∈ [2 .2 h = 0. Encontrar la soluci´on por el m´etodo de Euler en los puntos 1. y) = 4e0.b.Supongamos que h = 0. 4.Considerar el problema de valor inicial: y 0 = f (t. 4] .4] . 1] .xcii Tema 4 Introducci´ on a los m´ etodos num´ ericos EJERCICIOS PROPUESTOS: 1. y(0) = 0 . 2. t ∈ [1 .. 5. la soluci´on exacta y la soluci´on aproximada.5y .Representar en un mismo gr´afico.. y) = −2t3 + 12t2 − 20t + 8.25 5. la soluci´on exacta y la soluci´on aproximada.1.a.Encontrar la soluci´on exacta y(t). 1.5 .b.c.. t ∈ [0 . 5. y(1) = 1 . y(0) = 2 5.Usar el m´etodo de Taylor de orden dos para aproximar las soluci´on de cada uno de los siguientes problemas de valor inicial: ³ y ´2 ³ y ´ (a) y 0 = + .