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

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

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

2140877 1.6 0. Esto es consecuencia de la poca estabilidad del m´etodo de Euler.7324000 4. Obtenemos de esta manera la partici´on tj con j = 0.2. obtenemos los valores reflejados en la Tabla 7.2834838 4. y 0 = −2ty . (t0 .9498112 3.5000000 0.0985406 0.2806266 0. 9 .6408591 3.1. para calcular un valor aproximado de y(1) del problema.4 0.lxxxiv Tema 4 Introducci´ on a los m´ etodos num´ ericos • Si utilizamos el m´etodo de Euler con h = 0.4281538 4.4 1.0 yk 0.0292986 0.5) .0000000 0. 1] y lo dividimos en diez partes. con y0 = y(0) = 1. . 2. Observemos como los errores crecen a medida que aumentamos los valores de tk .4581760 2.15200000 1. y(0) = 1 .2 1. tk 0.3054720 ERROR 0. y) = y − t2 + 1.6 1. k = 0.1826831 0.1387495 0.8000000 1. Si aplicamos el m´etodo de Euler yk+1 = yk + hf (tk .9501281 4. 10.3678794412 • Tomamos el intervalo [0.6489406 2.8 1.4396874 Tabla 7. 1.3870225 0.1799415 3.9884800 2. · · · .8657845 y(0) 0.2.8 2.2301303 0. 2.4517734 3.0 0. 1. yk ) = yk − 2htk yk .5504000 1. y0 ) = (0.3 Aplicar el m´ etodo de Euler con h = 0. es la soluci´on del problema de valor inicial.1.2 0. entonces obtenemos los valores que aparecen en la Tabla 7.1. f (t. EJERCICIO 4. · · · . 0.0 1.5000000 0.0620877 0.3333557 0. 2 • Es f´acil comprobar que y = e−t .8151763 5.8292986 1.1272295 2. n = 10 . Por tanto y(1) = 0.

utilizando el m´ etodo de Taylor de segundo orden y con un paso h = 0.4 Resolver el problema de valor inicial dy = t−y.8 0. y) ∂f (t. • Podemos comprobar como el error crece cuando aumentamos el valor de k.9 1.03220 0.lxxxv tk 0.03174 0.03480 tk 0.yk ) donde df (t. n .01382 – Tabla 7.0012406.0 0.5 yk 1.02686 0. y) dy = + .01921 0.4 0. (tk .3691201 es un valor aproximado de y(1).55416 0.81360 ERROR 0.64437 0. • Sabemos que para este m´etodo yk+1 h2 = yk + hf (tk . el error cometido es |0.46549 0.00000 0. EJERCICIO 4. aproximado.020637 0. Ahora.2.3691201 − 0. dt ∂t ∂y dt . · · · .38170 – ERROR 0. que es mucho menor que cuando el paso era h = 0. y) dt ¶ .2 0.3 0.1 0.0 – yk 0.6 0.03456 0. yk ) + 2! µ df (t.1 Figura 7.7 0.02686 0.2.00000 1.00000 0. y) ∂f (t.2. 1.88435 0. Rojo: valor exacto. Utilizando el software adecuado es f´acil ver que y100 = 0. dt y(0) = 2 .94080 0.3678794| = 0. Azul: valor.98000 0.00995 0.73224 0. k = 0.

n = 5.66 .6) = 1.15637. y0 [t] = t − y[t]. s1[u .. • A continuaci´on resolveremos este mismo ejercicio con Mathematicar .2 + 1.y0 ) h2 (1 − t0 + y0 ) 2! 0.66 + 0. y4 = y(0. y) = 1−t+y. 2 df (t. y) dt ¶ (t0 .66) + 0. dy2 = D[y0 [t]. y) dt ¶ (t1 .2) = y0 + hf (t0 . . t].00858. n}]. 0. a = 0.2(0. dt y en consecuencia h2 y1 = y(0. t− > u} .2(0 − 2) + Del mismo modo h2 y2 = y(0.4172 . dy1 = y0 [t]. 2 Aplicando de forma reiterativa este proceso obtenemos y3 = y(0. y0 ) + 2! = y0 + h(t0 − y0 ) + = 2 + 0.22 (1 − 0. v ] := dy1/.78%. df (t. y5 = y(1) = 1..11222 El error absoluto que cometemos es 1. b = 1.h = (b − a)/n. datos = {2. Ahora. Las primeras instrucciones corresponden a la introducci´on de los datos.}.254 .{y[t]− > v.66) = 1.lxxxvi Tema 4 Introducci´ on a los m´ etodos num´ ericos En nuestro caso.4) = y1 + hf (t1 .{y[t]− > v.y1 ) h2 (1 − t1 + y1 ) 2! = 1.10364 = 0.11222 − 1. t− > u} s2[u . y un error porcentual del 0. y1 ) + 2! = y1 + h(t1 − y1 ) + µ µ df (t.22 (1 − 0 + 2) = 1.2 − 1. v ] := dy2/. nodo = Table[a + ih. {i. 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.8) = 1.

3476843 - ERROR 0.4 0.7486446 4. Para ello necesitamos conocer df (t.5 .66}.0031354 0.2158000 1.0007014 0.2 1..5 Aplicar el m´ etodo de Taylor de ´ ordenes dos y cuatro al problema de valor inicial dy = y 0 = y − t2 + 1 . {0.0422123 (4. 2.3. {0.13233327 2. k = 0.3061464 4. AppendTo[datos.lxxxvii Posteriormente construimos las aproximaciones. 1.0 - Tabla 7.1) . n + 1}]] {{0.0226626 0.011465 0. (tk .0051032 0. con n = 10.8462986 5.3. yk ) + 2! µ df (t. {0. datos[[i]]}.4172}. {1. dt dt con lo cual podemos aplicar yk+1 h2 = yk + hf (tk .8 1.0162446 0. El resultado puede visualizarse a trav´es de la instrucci´on Print[Table[{nodo[[i]].6. 1. n .8300000 1.15637}. datos[[i − 1]]]+ (h2 /2)s2[nodo[[i − 1]].. 1. i <= n + 1.6 0.2 0. 1. y(0) = 0.}.0311223 0.6520760 2.6486459 ERROR 0 0. y(t)) d = (y − t2 + 1) = y 0 − 2t = y − t2 + 1 − 2t . programando el m´etodo de Taylor For[i = 2. datos[[i − 1]]].0 yk 0.2541}. • Empezamos analizando el caso de orden dos.1913480 3. {0.yk ) y obtenemos los valores que aparecen en la Tabla 7. · · · .4. yk 3. y) dt ¶ .0 0. i + +.11222}} EJERCICIO 4.8 2.6 1.8.0017123 0.2. 2. tk 0. {i. dt 0 ≤ t ≤ 2.4 1. aux]]. aux = datos[[i − 1]]+ h ∗ s1[nodo[[i − 1]]. 1.5000000 0.0077868 tk 1.

2140910 1. 0.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.0000101 0. y) dt2 ¶ (tk .7324321 4.0 yk 0. 0. y(0) = 1 . d2 f (t.82930 .1272396 2.4.0000153 tk 1.8 2.5) + = 0.0000834 Tabla 7. 0.0 - yk 3. EJERCICIO 4.6 1. y) dt ¶ + (tk .8293000 1. 0. (tk . 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 .0000062 0.4 1.yk ) ¶ .yk ) h3 3! µ d2 f (t.5) Aplicando de forma reiterada la f´ormula anterior.4.2 1.0000615 0.3055554 - ERROR 0.yk ) Un valor aproximado de y(0. tomando h = 0. yk ) + h4 + 4! µ d3 f (t.1799640 3. obtenemos los valores que aparecen en la Tabla 7.8 1.1.0000225 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 . tk 0.2835285 4.5 + 0.14 000 2 f (0. 0.12 0 2 f (0.2 0.13 00 6 f (0.0000014 0.5) + 0. y(t)) d = (y − t2 + 1 − 2t) = y 0 − 2t − 2 = y − t2 − 2t − 1 2 dt dt d d3 f (t.5) + 0.0 0.5000000 0. y) dt3 h2 2! µ df (t.0000321 0.0000034 0.0000447 0.2) lo calculamos como y1 = 0.1f (0.6408744 ERROR 0 0.6 0.8152377 5.6489468 2. .4 0.

44209 0.91324 0.85095 0.76075569×10−3 2.5 yk 1 0.2 0.69550 0.1 0. y0 ) = f (0.7 2 2 2 2 k3 = f (t0 + h hk2 0.7 0.77709 ERROR 0 4. 6 . 2) = 0 − 2 = −2 k2 = f (t0 + hk1 0.2 • En primer lugar debemos encontrar las constantes k1 = f (t0 .70555464 ×10−3 tk 0.61864321 ×10−3 EJERCICIO 4. por el m´ etodo de Runga-Kutta de cuarto orden. yk ) h2 = yk − 2htk yk + (−2yk + 4t2k yk ) 2 dt 2 Los resultados que se obtienen pueden verse en la tabla siguiente.53358646×10−3 2.7 Encontrar un valor aproximado de y(1). y0 + ) = f (0 + .4 0. y0 + ) = f (0 + .7) .2 × (−1.454 y a continuaci´on aplicar la f´ormula yk+1 = yk + h (k1 + 2k2 + 2k3 + k4 ) . y0 + hk3 ) = f (0 + 0. y) = t − y .61009 0.2(−1.9 1. dt En consecuencia.73462797×10−3 2. y) = y 00 (t) = −2y − 2ty 0 = −2y − 2t(−2ty) = −2y + 4t2 y .99 0.96049 0. 2+ ) = −1.2(−2) h . tk 0 0.8 0.91439152×10−4 6. df (t. 2 + 0.0 yk 0.98337491×10−5 2. yk+1 = yk + hf (tk .lxxxix • Calculamos la derivada de la funci´on y 0 = f (t.73)) = −1.52455 0.2.36526 ERROR 2. 2+ ) = −1.17608927 ×10−3 2. con h = 0. respecto de t.18536075×10−4 1. del siguiente problema de valores iniciales y 0 = f (t.89686871×10−4 1.73 2 2 2 2 k4 = f (t0 + h.6 0. y(0) = 2 .2 0.3 0. yk ) + h2 df (tk . y) = −2ty.2 0.

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

1. yk + ) 2 2 2 βk3 = g(tk + h hαk2 hβk2 .7 0. x(0) = 0 y 0 (t) = g(t.2 0.00498 0.2 0.42726 0.19339 0. yk + ) 2 2 2 βk2 = g(tk + h hαk1 hβk1 .91393 0.19829 0. xk .52770×10−9 tk 0.0 - yk 0.99004 0. xk .0 0.27792 0.85214 0.40117 yk 0. xk + .0 0.3 0.15806×10−7 5.0 – xk 0.64987×10−8 2.8 0.38813 0.24196 0.04333 0.91674×10−9 1.4 0.00000 0.15834×10−10 3. xk + .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. yk ) αk2 = f (tk + h hαk1 hβk1 .00000 0.15432 0.09917 0.44223 0. • 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 .44485 0. yk + ) 2 2 2 αk3 = f (tk + h hαk2 hβk2 .31881 – .1 0.69767 0.96078 0.61262 0.62525×10−6 EJERCICIO 4. y(0) = 0 tomando h = 0. x.11067 ×10−8 2.28293 0. xk + hαk3 . y) = −4y + cos t . yk + ) 2 2 2 αk4 = f (tk + h.4 0.8 0.11242 tk 0.52729 0.07478 0.3 0.9 1.5 yk 1. yk + hβk3 ) βk4 = g(tk + h.06502×10−7 9. y) = x .70467×10−7 1.6 0.43314 0. xk + .7 0.34843 0.5 xk 0.32571 – yk 0.00000 4.xci tk 0.00000 0.6 0. xk + hαk3 . yk + hβk3 ) La tabla de las soluciones con h = 0.1 0.9 1. x.77880 ERROR 0.01967 0. xk + .1 es la siguiente tk 0.12525×10−8 1. yk ) βk1 = g(tk .36788 - ERROR 6.

y(0) = 2 5. 4] . la soluci´on exacta y la soluci´on aproximada. t ∈ [0 .Encontrar la soluci´on exacta y(t). y) = −2t3 + 12t2 − 20t + 8.Supongamos que h = 0. 1] .c. 2. 1. la soluci´on exacta y la soluci´on aproximada.a.. 5.2 h = 0. 1...1 3.Supongamos que h = 0..b. h = 0.. 2.1 t t (b) y 0 = sen t + e−t .. 3] . Encontrar la soluci´on por el m´etodo de RungeKutta de orden cuatro..xcii Tema 4 Introducci´ on a los m´ etodos num´ ericos EJERCICIOS PROPUESTOS: 1.0] . . y(2) = 1 .1. 1. en el punto 4.. t ∈ [2 .Representar en un mismo gr´afico. 5.. y(0) = 1 .b.Considerar el problema de valor inicial: y 0 = f (t. y) = 4e0.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 .. Encontrar la soluci´on por el m´etodo de Euler en los puntos 1. y(0) = 0 . 4.Considerar el problema de valor inicial: y 0 = f (t. .8t − 0.Resolver el ejercicio anterior haciendo uso del m´etodo de Taylor de orden dos y de orden cuatro. 4] .1. h = 0. 1.25 5. 1. t ∈ [0 ..4] . y(1) = 1 . t ∈ [0 . y(0) = 0 .Encontrar la soluci´on exacta y(t). t ∈ [1 . 3 y 4.5 . t ∈ [0.c.a.Representar en un mismo gr´afico. h = 0.5y .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 = + .

Sign up to vote on this title
UsefulNot useful