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

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

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

Esto es consecuencia de la poca estabilidad del m´etodo de Euler.0985406 0. 2. n = 10 .2140877 1.9498112 3.7324000 4. tk 0. .1.2.lxxxiv Tema 4 Introducci´ on a los m´ etodos num´ ericos • Si utilizamos el m´etodo de Euler con h = 0. k = 0. 1] y lo dividimos en diez partes.1. EJERCICIO 4.2834838 4.2 0.8657845 y(0) 0.1799415 3.5000000 0.2301303 0.4 0.3333557 0.0 yk 0. 1. es la soluci´on del problema de valor inicial. Obtenemos de esta manera la partici´on tj con j = 0.5504000 1. con y0 = y(0) = 1.6 0.2 1. y(0) = 1 .9884800 2.3870225 0.0292986 0.3054720 ERROR 0. (t0 .4396874 Tabla 7.15200000 1. y) = y − t2 + 1. Observemos como los errores crecen a medida que aumentamos los valores de tk . 2 • Es f´acil comprobar que y = e−t .1387495 0.8 1. · · · .0620877 0.3 Aplicar el m´ etodo de Euler con h = 0. para calcular un valor aproximado de y(1) del problema.8292986 1.2806266 0. Por tanto y(1) = 0. 10.9501281 4.4281538 4. obtenemos los valores reflejados en la Tabla 7.4517734 3. y 0 = −2ty .5000000 0.6489406 2. yk ) = yk − 2htk yk .2.6 1. entonces obtenemos los valores que aparecen en la Tabla 7.8 2.8151763 5.4 1. y0 ) = (0. f (t. 9 .1272295 2. · · · .8000000 1.0 0. Si aplicamos el m´etodo de Euler yk+1 = yk + hf (tk .1.1826831 0. 0.3678794412 • Tomamos el intervalo [0.5) .0000000 0. 1. 2.0 1.6408591 3.4581760 2.

6 0.lxxxv tk 0. (tk .98000 0.4 0.9 1.3691201 − 0.00000 0.88435 0.5 yk 1.03456 0.2.0 – yk 0.1 0. el error cometido es |0. dt ∂t ∂y dt .020637 0. k = 0. dt y(0) = 2 .55416 0.0012406.73224 0.8 0. aproximado.2.64437 0. Rojo: valor exacto. que es mucho menor que cuando el paso era h = 0. Ahora. 1.1 Figura 7.81360 ERROR 0.3691201 es un valor aproximado de y(1).00000 1. · · · .01921 0.00000 0.03220 0. yk ) + 2! µ df (t.yk ) donde df (t. • Sabemos que para este m´etodo yk+1 h2 = yk + hf (tk . y) dt ¶ .00995 0. EJERCICIO 4.2. n .7 0.38170 – ERROR 0.46549 0. Azul: valor. Utilizando el software adecuado es f´acil ver que y100 = 0.02686 0.03480 tk 0.2 0. • Podemos comprobar como el error crece cuando aumentamos el valor de k.02686 0.4 Resolver el problema de valor inicial dy = t−y. y) ∂f (t. utilizando el m´ etodo de Taylor de segundo orden y con un paso h = 0. y) ∂f (t.94080 0.01382 – Tabla 7.03174 0.3 0.3678794| = 0. y) dy = + .0 0.

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

programando el m´etodo de Taylor For[i = 2. yk ) + 2! µ df (t. aux = datos[[i − 1]]+ h ∗ s1[nodo[[i − 1]]. Para ello necesitamos conocer df (t. {1.}.1) .0007014 0.3476843 - ERROR 0. dt dt con lo cual podemos aplicar yk+1 h2 = yk + hf (tk . n + 1}]] {{0.0017123 0.15637}. i <= n + 1. (tk .5 . i + +. {0. datos[[i]]}.5000000 0. datos[[i − 1]]]+ (h2 /2)s2[nodo[[i − 1]].8 1.6 1. y(0) = 0. 2.0226626 0. con n = 10. 1. n .2541}. 1.3061464 4. yk 3.0031354 0. aux]].4 1.2158000 1. k = 0.8462986 5.1913480 3. datos[[i − 1]]]. {0.6486459 ERROR 0 0.0311223 0.11222}} EJERCICIO 4.13233327 2. y(t)) d = (y − t2 + 1) = y 0 − 2t = y − t2 + 1 − 2t .6520760 2.4172}. {0.6 0.8.4 0.66}. 1. {i.2 1.0 0.0077868 tk 1. · · · .7486446 4.5 Aplicar el m´ etodo de Taylor de ´ ordenes dos y cuatro al problema de valor inicial dy = y 0 = y − t2 + 1 ..3.011465 0.yk ) y obtenemos los valores que aparecen en la Tabla 7. • Empezamos analizando el caso de orden dos. El resultado puede visualizarse a trav´es de la instrucci´on Print[Table[{nodo[[i]].0422123 (4. 1. 1.0162446 0.8 2. y) dt ¶ .2 0. tk 0. AppendTo[datos..lxxxvii Posteriormente construimos las aproximaciones.0051032 0.3.6.8300000 1.0 - Tabla 7.2. 2. {0. dt 0 ≤ t ≤ 2.4.0 yk 0.

y(0) = 1 .0 - yk 3. 0. 0.1799640 3.2 1. .6 1. tk 0.4 1.yk ) h3 3! µ d2 f (t. tomando h = 0.82930 .0000153 tk 1.5) Aplicando de forma reiterada la f´ormula anterior. y(t)) d = (y − t2 + 1 − 2t) = y 0 − 2t − 2 = y − t2 − 2t − 1 2 dt dt d d3 f (t.8 1. 0. obtenemos los valores que aparecen en la Tabla 7.5) + 0.2 0.7324321 4.1272396 2. y) dt2 ¶ (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 .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.0000225 0 .5) + = 0.1.0000014 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 .14 000 2 f (0.2835285 4.6408744 ERROR 0 0. 0.6489468 2.1f (0. yk ) + h4 + 4! µ d3 f (t.4.6 0. y) dt3 h2 2! µ df (t.13 00 6 f (0.2140910 1. 0.0000101 0.8152377 5. y) dt ¶ + (tk .4.5 + 0.0000062 0.2) lo calculamos como y1 = 0.0000321 0.12 0 2 f (0. d2 f (t.4 0.5) + 0.0 yk 0.5000000 0.yk ) ¶ .8293000 1.0000034 0. EJERCICIO 4.3055554 - ERROR 0.yk ) Un valor aproximado de y(0. (tk .0000447 0.0 0.8 2.0000834 Tabla 7.0000615 0.

y) = −2ty. 2 + 0. 6 . yk+1 = yk + hf (tk .8 0.2 0.17608927 ×10−3 2. y0 ) = f (0. del siguiente problema de valores iniciales y 0 = f (t. df (t.2 0.9 1.4 0.77709 ERROR 0 4.70555464 ×10−3 tk 0.85095 0.44209 0. yk ) + h2 df (tk . y0 + ) = f (0 + . respecto de t. y0 + ) = f (0 + .7) .36526 ERROR 2.61864321 ×10−3 EJERCICIO 4.2(−1. tk 0 0. por el m´ etodo de Runga-Kutta de cuarto orden.454 y a continuaci´on aplicar la f´ormula yk+1 = yk + h (k1 + 2k2 + 2k3 + k4 ) .2.73 2 2 2 2 k4 = f (t0 + h.5 yk 1 0.0 yk 0. y) = t − y .53358646×10−3 2. y0 + hk3 ) = f (0 + 0.7 Encontrar un valor aproximado de y(1).2(−2) h .91324 0.18536075×10−4 1.96049 0. 2) = 0 − 2 = −2 k2 = f (t0 + hk1 0.89686871×10−4 1.73)) = −1.61009 0.lxxxix • Calculamos la derivada de la funci´on y 0 = f (t.52455 0. y(0) = 2 . 2+ ) = −1.6 0. 2+ ) = −1.91439152×10−4 6.99 0.1 0. y) = y 00 (t) = −2y − 2ty 0 = −2y − 2t(−2ty) = −2y + 4t2 y .3 0.2 × (−1. con h = 0.2 0.98337491×10−5 2. yk ) h2 = yk − 2htk yk + (−2yk + 4t2k yk ) 2 dt 2 Los resultados que se obtienen pueden verse en la tabla siguiente.7 0.73462797×10−3 2.2 • En primer lugar debemos encontrar las constantes k1 = f (t0 .76075569×10−3 2.7 2 2 2 2 k3 = f (t0 + h hk2 0. dt En consecuencia.69550 0.

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

61262 0.1 0.8 0.19829 0.77880 ERROR 0.00000 0.44485 0.43314 0.27792 0.69767 0.91393 0. xk + hαk3 . yk + ) 2 2 2 αk4 = f (tk + h.36788 - ERROR 6.2 0.28293 0. y) = −4y + cos t .07478 0. x(0) = 0 y 0 (t) = g(t.7 0. yk + ) 2 2 2 βk3 = g(tk + h hαk2 hβk2 .99004 0. xk + .xci tk 0.38813 0.3 0.1 es la siguiente tk 0. yk + hβk3 ) βk4 = g(tk + h.15806×10−7 5.15834×10−10 3.00498 0. y(0) = 0 tomando h = 0.34843 0.3 0.40117 yk 0.52729 0.2 0.24196 0. yk ) βk1 = g(tk .01967 0.42726 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. xk . xk + .04333 0.91674×10−9 1.15432 0.0 – xk 0.0 0.4 0.00000 4.96078 0. xk + .31881 – . • 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 .64987×10−8 2.6 0.11067 ×10−8 2. yk ) αk2 = f (tk + h hαk1 hβk1 .32571 – yk 0.9 1.0 0.8 0.62525×10−6 EJERCICIO 4.0 - yk 0. x.85214 0.1.52770×10−9 tk 0.00000 0. xk + . yk + ) 2 2 2 αk3 = f (tk + h hαk2 hβk2 . yk + hβk3 ) La tabla de las soluciones con h = 0.4 0.5 xk 0.70467×10−7 1.6 0.9 1. y) = x .09917 0. xk .11242 tk 0.00000 0. yk + ) 2 2 2 βk2 = g(tk + h hαk1 hβk1 .44223 0.06502×10−7 9.19339 0. xk + hαk3 .1 0.12525×10−8 1.7 0.5 yk 1. x.

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

Sign up to vote on this title
UsefulNot useful