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

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

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

6 0.4581760 2. tk 0.2 0.4517734 3. Por tanto y(1) = 0.8000000 1.0985406 0.0620877 0. Observemos como los errores crecen a medida que aumentamos los valores de tk .0 yk 0.3333557 0.0 0.0 1.2806266 0. EJERCICIO 4. Si aplicamos el m´etodo de Euler yk+1 = yk + hf (tk . · · · .1799415 3. 10.1826831 0.8292986 1.1387495 0.6 1.8657845 y(0) 0.9498112 3.2. 2 • Es f´acil comprobar que y = e−t . 0.1.0000000 0. · · · . obtenemos los valores reflejados en la Tabla 7. entonces obtenemos los valores que aparecen en la Tabla 7.2834838 4. k = 0.5) . Obtenemos de esta manera la partici´on tj con j = 0. 2.4 1.5000000 0. 2.0292986 0.6408591 3.3054720 ERROR 0.4 0. (t0 .2.8 1. 1] y lo dividimos en diez partes. f (t.3870225 0.4396874 Tabla 7.5000000 0. con y0 = y(0) = 1. es la soluci´on del problema de valor inicial.2 1.4281538 4. y 0 = −2ty .1.7324000 4. y) = y − t2 + 1.5504000 1.2140877 1.9884800 2. Esto es consecuencia de la poca estabilidad del m´etodo de Euler. y0 ) = (0.3 Aplicar el m´ etodo de Euler con h = 0.3678794412 • Tomamos el intervalo [0.6489406 2.15200000 1.8 2.2301303 0. y(0) = 1 . .1272295 2.8151763 5.1. 1. n = 10 . para calcular un valor aproximado de y(1) del problema. yk ) = yk − 2htk yk .9501281 4. 9 .lxxxiv Tema 4 Introducci´ on a los m´ etodos num´ ericos • Si utilizamos el m´etodo de Euler con h = 0. 1.

73224 0. Rojo: valor exacto. el error cometido es |0.98000 0.01921 0.03456 0. y) dt ¶ .8 0.81360 ERROR 0. • Sabemos que para este m´etodo yk+1 h2 = yk + hf (tk . Ahora. • Podemos comprobar como el error crece cuando aumentamos el valor de k.2.2 0.3 0.01382 – Tabla 7.03480 tk 0. que es mucho menor que cuando el paso era h = 0.03174 0.88435 0.0012406. (tk .03220 0.55416 0.02686 0. Azul: valor.0 – yk 0.00000 1.9 1.00000 0. dt ∂t ∂y dt . y) ∂f (t.02686 0.4 0. utilizando el m´ etodo de Taylor de segundo orden y con un paso h = 0.1 0. Utilizando el software adecuado es f´acil ver que y100 = 0.4 Resolver el problema de valor inicial dy = t−y. y) ∂f (t.1 Figura 7. 1.3691201 es un valor aproximado de y(1). EJERCICIO 4.46549 0.7 0.5 yk 1. aproximado. k = 0.020637 0.38170 – ERROR 0.3691201 − 0.2.00000 0. y) dy = + . · · · .yk ) donde df (t.0 0.00995 0.94080 0. dt y(0) = 2 .2. yk ) + 2! µ df (t.lxxxv tk 0.6 0.64437 0. n .3678794| = 0.

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

(tk .3061464 4. {0.4 0..3.lxxxvii Posteriormente construimos las aproximaciones.5 . · · · .5000000 0. tk 0.6 1.4172}.4 1. 1.8 1. n .yk ) y obtenemos los valores que aparecen en la Tabla 7.66}.0051032 0. 1. i + +. Para ello necesitamos conocer df (t.0 0.5 Aplicar el m´ etodo de Taylor de ´ ordenes dos y cuatro al problema de valor inicial dy = y 0 = y − t2 + 1 .3476843 - ERROR 0.0162446 0. {0. {0.6520760 2.0077868 tk 1. 2.0422123 (4. i <= n + 1.0 yk 0.15637}.0007014 0. datos[[i]]}. programando el m´etodo de Taylor For[i = 2.}. {1.3. 1. aux]].8. yk 3.11222}} EJERCICIO 4. con n = 10. datos[[i − 1]]].8 2.0311223 0. yk ) + 2! µ df (t.011465 0. dt dt con lo cual podemos aplicar yk+1 h2 = yk + hf (tk . {0.2158000 1. • Empezamos analizando el caso de orden dos.0017123 0..2.6. {i. k = 0. datos[[i − 1]]]+ (h2 /2)s2[nodo[[i − 1]].7486446 4. n + 1}]] {{0.2 0.1913480 3.0 - Tabla 7.2 1.0031354 0. 1.2541}. AppendTo[datos. aux = datos[[i − 1]]+ h ∗ s1[nodo[[i − 1]].4.8300000 1. y) dt ¶ . 1.1) .13233327 2.8462986 5.6486459 ERROR 0 0. 2. El resultado puede visualizarse a trav´es de la instrucci´on Print[Table[{nodo[[i]].0226626 0. y(t)) d = (y − t2 + 1) = y 0 − 2t = y − t2 + 1 − 2t . y(0) = 0.6 0. dt 0 ≤ t ≤ 2.

4 0. y(t)) d = (y − t2 + 1 − 2t) = y 0 − 2t − 2 = y − t2 − 2t − 1 2 dt dt d d3 f (t. 0.5) + = 0. 0.4.1. d2 f (t.yk ) Un valor aproximado de y(0.0000014 0. y) dt ¶ + (tk .0000062 0. y) dt3 h2 2! µ df (t.14 000 2 f (0.yk ) ¶ .1799640 3.8 1.1f (0.0000834 Tabla 7.6 1. EJERCICIO 4. tk 0.0000321 0.0000034 0.4. y(0) = 1 .3055554 - ERROR 0.12 0 2 f (0.8 2.5) + 0. 0.0000153 tk 1.8152377 5.6408744 ERROR 0 0.0 - yk 3.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 . .0000101 0.13 00 6 f (0.2 1.8293000 1.5 + 0.0 yk 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. obtenemos los valores que aparecen en la Tabla 7. tomando h = 0.6489468 2.1272396 2.yk ) h3 3! µ d2 f (t.0000447 0.2140910 1.0000615 0.6 0. 0.5) Aplicando de forma reiterada la f´ormula anterior. 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 .2) lo calculamos como y1 = 0. 0.82930 .0000225 0 .0 0. y) dt2 ¶ (tk .2 0.2835285 4. yk ) + h4 + 4! µ d3 f (t. (tk .4 1.7324321 4.5000000 0.5) + 0.

70555464 ×10−3 tk 0. 2+ ) = −1. 6 .73 2 2 2 2 k4 = f (t0 + h. con h = 0. por el m´ etodo de Runga-Kutta de cuarto orden.2(−2) h .2 × (−1.454 y a continuaci´on aplicar la f´ormula yk+1 = yk + h (k1 + 2k2 + 2k3 + k4 ) .18536075×10−4 1.2(−1.91324 0.2 0.44209 0. y0 + ) = f (0 + .77709 ERROR 0 4. tk 0 0.2 0. y) = y 00 (t) = −2y − 2ty 0 = −2y − 2t(−2ty) = −2y + 4t2 y . df (t. y0 + ) = f (0 + .85095 0.17608927 ×10−3 2. y0 ) = f (0.89686871×10−4 1.7 Encontrar un valor aproximado de y(1). yk+1 = yk + hf (tk .0 yk 0.8 0.98337491×10−5 2.2 • En primer lugar debemos encontrar las constantes k1 = f (t0 .lxxxix • Calculamos la derivada de la funci´on y 0 = f (t.4 0.61009 0.52455 0. dt En consecuencia.36526 ERROR 2.73462797×10−3 2. respecto de t.7 2 2 2 2 k3 = f (t0 + h hk2 0. yk ) h2 = yk − 2htk yk + (−2yk + 4t2k yk ) 2 dt 2 Los resultados que se obtienen pueden verse en la tabla siguiente. 2) = 0 − 2 = −2 k2 = f (t0 + hk1 0. yk ) + h2 df (tk .6 0.5 yk 1 0. 2+ ) = −1.73)) = −1. 2 + 0. del siguiente problema de valores iniciales y 0 = f (t.99 0.96049 0. y) = −2ty. y0 + hk3 ) = f (0 + 0.3 0.91439152×10−4 6.76075569×10−3 2.7) .2. y) = t − y .2 0.7 0.1 0.53358646×10−3 2.9 1.69550 0.61864321 ×10−3 EJERCICIO 4. y(0) = 2 .

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

7 0.5 xk 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.32571 – yk 0. xk + hαk3 . y(0) = 0 tomando h = 0.40117 yk 0.3 0.91674×10−9 1.6 0.09917 0.15834×10−10 3.00000 0.28293 0. y) = −4y + cos t .6 0.xci tk 0.9 1.44223 0.06502×10−7 9.15806×10−7 5.85214 0.0 – xk 0.91393 0.2 0.11242 tk 0.12525×10−8 1.1 0.01967 0.96078 0.1 0.5 yk 1.11067 ×10−8 2.36788 - ERROR 6.7 0. xk .00498 0. yk + hβk3 ) La tabla de las soluciones con h = 0.1 es la siguiente tk 0.77880 ERROR 0.19339 0.9 1. xk + .1. yk + ) 2 2 2 αk4 = f (tk + h.3 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 .31881 – .34843 0.0 0.4 0.00000 0. xk + .07478 0.44485 0.27792 0.0 0.61262 0. x(0) = 0 y 0 (t) = g(t. xk .52770×10−9 tk 0. x.52729 0.70467×10−7 1.00000 0. xk + .43314 0. yk + ) 2 2 2 βk3 = g(tk + h hαk2 hβk2 .42726 0. yk + ) 2 2 2 αk3 = f (tk + h hαk2 hβk2 .8 0.24196 0.64987×10−8 2. xk + . yk ) βk1 = g(tk .00000 4. yk ) αk2 = f (tk + h hαk1 hβk1 .04333 0.99004 0.8 0. x.4 0. xk + hαk3 .15432 0. yk + ) 2 2 2 βk2 = g(tk + h hαk1 hβk1 . yk + hβk3 ) βk4 = g(tk + h.62525×10−6 EJERCICIO 4.0 - yk 0.19829 0.2 0.69767 0. y) = x .38813 0.

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

Sign up to vote on this title
UsefulNot useful