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

5et ⇒ y(2) = 5. • Tambi´en podemos resolver el problema de valores iniciales con las siguientes instrucciones. y superponemos las dos gr´aficas: Show[aproximada. {t. Rojo: soluci´on aproximada. b}. PlotStyle → {Dashing[{0. t] solecuacion = y[t]/. La soluci´on exacta del ejercicio viene dada por y(t) = (t + 1)2 − 0.02. . graficaexacta].3054720 .02}]}]. 0. solucion = DSolve[y0 [t] == t − y[t].1. y(0) = 0. C[1]] solucionexacta = solecuacion/.t → 0) == 1. dt 0 ≤ t ≤ 2. • La ecuaci´on diferencial es lineal de primer orden.5 . EJERCICIO 4. Azul: soluci´on exacta. y[t].lxxxiii Figura 7. con n = 10.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 .) graficaexacta = Plot[solucionexacta.constante[[1]] Finalmente dibujamos la soluci´on exacta (ver Figura 7.1. a.

Si aplicamos el m´etodo de Euler yk+1 = yk + hf (tk .0000000 0.8 2.2806266 0.4 1.4 0.1.15200000 1.6489406 2. 2 • Es f´acil comprobar que y = e−t .5000000 0.0620877 0.6408591 3. .8 1. Obtenemos de esta manera la partici´on tj con j = 0. entonces obtenemos los valores que aparecen en la Tabla 7.1272295 2.3333557 0. y0 ) = (0.3054720 ERROR 0.5) . y) = y − t2 + 1.2 1.9498112 3. 2. 0.1826831 0. f (t.2.8657845 y(0) 0.9884800 2.2140877 1. EJERCICIO 4.8000000 1. con y0 = y(0) = 1. Observemos como los errores crecen a medida que aumentamos los valores de tk . · · · .3870225 0. Por tanto y(1) = 0. y(0) = 1 . Esto es consecuencia de la poca estabilidad del m´etodo de Euler.2.6 1. es la soluci´on del problema de valor inicial.4396874 Tabla 7. 1. n = 10 .3 Aplicar el m´ etodo de Euler con h = 0. 1.2301303 0.7324000 4.8151763 5.2 0.4581760 2. 10.5504000 1. obtenemos los valores reflejados en la Tabla 7. 9 .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.2834838 4. y 0 = −2ty .5000000 0. yk ) = yk − 2htk yk .0292986 0.0 yk 0.1387495 0.1.3678794412 • Tomamos el intervalo [0.0 0. (t0 .1799415 3.6 0.0985406 0.9501281 4.1. tk 0. 2.8292986 1.0 1.4517734 3.4281538 4. para calcular un valor aproximado de y(1) del problema.

• Sabemos que para este m´etodo yk+1 h2 = yk + hf (tk . (tk . dt ∂t ∂y dt .3691201 − 0. · · · .0 – yk 0. 1.2 0.00000 0.64437 0. yk ) + 2! µ df (t.01921 0.7 0. Azul: valor.88435 0.2.98000 0.03174 0.020637 0.6 0. y) ∂f (t.8 0.73224 0. EJERCICIO 4. Utilizando el software adecuado es f´acil ver que y100 = 0. k = 0. • Podemos comprobar como el error crece cuando aumentamos el valor de k.2. y) dt ¶ .lxxxv tk 0. que es mucho menor que cuando el paso era h = 0.94080 0. Rojo: valor exacto.0 0. n .03480 tk 0.00995 0.1 0.02686 0.4 Resolver el problema de valor inicial dy = t−y.3691201 es un valor aproximado de y(1). y) dy = + .yk ) donde df (t.46549 0.5 yk 1.01382 – Tabla 7.1 Figura 7. utilizando el m´ etodo de Taylor de segundo orden y con un paso h = 0.03456 0.03220 0. dt y(0) = 2 .55416 0.81360 ERROR 0.0012406.3 0. el error cometido es |0.3678794| = 0.00000 1. Ahora.9 1.00000 0.2. y) ∂f (t.02686 0. aproximado.38170 – ERROR 0.4 0.

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

i + +. y(t)) d = (y − t2 + 1) = y 0 − 2t = y − t2 + 1 − 2t . n .8.1) .0422123 (4. datos[[i − 1]]].5 . con n = 10. datos[[i]]}.0 - Tabla 7.0051032 0. 2.6 1. {0.6. k = 0. tk 0.0017123 0. {1.6486459 ERROR 0 0. {0.4 1.}.11222}} EJERCICIO 4.0077868 tk 1. dt 0 ≤ t ≤ 2.66}.lxxxvii Posteriormente construimos las aproximaciones. 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 . yk ) + 2! µ df (t.yk ) y obtenemos los valores que aparecen en la Tabla 7.0162446 0. {0.3476843 - ERROR 0..8462986 5.15637}. datos[[i − 1]]]+ (h2 /2)s2[nodo[[i − 1]].0 0. {0.6520760 2.2 1. n + 1}]] {{0.7486446 4.4172}. {i.8300000 1.8 2.2158000 1. 1.0311223 0.4.0 yk 0.2 0.6 0..3061464 4. Para ello necesitamos conocer df (t. 1.5000000 0. AppendTo[datos.0031354 0. aux]]. El resultado puede visualizarse a trav´es de la instrucci´on Print[Table[{nodo[[i]].0007014 0. · · · . 1.0226626 0. (tk .011465 0.8 1. programando el m´etodo de Taylor For[i = 2.1913480 3.2.13233327 2. 1.3. i <= n + 1. y(0) = 0. aux = datos[[i − 1]]+ h ∗ s1[nodo[[i − 1]]. yk 3. dt dt con lo cual podemos aplicar yk+1 h2 = yk + hf (tk . y) dt ¶ .3.4 0. • Empezamos analizando el caso de orden dos.2541}.

obtenemos los valores que aparecen en la Tabla 7. y(t)) d = (y − t2 + 1 − 2t) = y 0 − 2t − 2 = y − t2 − 2t − 1 2 dt dt d d3 f (t. (tk .6489468 2.0000014 0.82930 .5) + 0.2) lo calculamos como y1 = 0.4.1272396 2. yk ) + h4 + 4! µ d3 f (t. .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 . tomando h = 0.0 - yk 3.1.6408744 ERROR 0 0.0000101 0.0000321 0. 0.8 1.13 00 6 f (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.2 1.yk ) h3 3! µ d2 f (t.5) + = 0.8293000 1.7324321 4.6 1.0000225 0 .1799640 3.0 0. EJERCICIO 4.4 1. y) dt2 ¶ (tk .2140910 1.3055554 - ERROR 0.yk ) ¶ .2 0.6 0. y) dt3 h2 2! µ df (t. d2 f (t.1f (0.8152377 5. y) dt ¶ + (tk .12 0 2 f (0.0000834 Tabla 7. 0.2835285 4.5 + 0.0000153 tk 1.yk ) Un valor aproximado de y(0.5) + 0. 0.5) Aplicando de forma reiterada la f´ormula anterior.0000615 0.4 0.4. y(0) = 1 .14 000 2 f (0.0 yk 0.5000000 0. 0. 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 .8 2.0000447 0. 0.0000062 0. tk 0.0000034 0.

2) = 0 − 2 = −2 k2 = f (t0 + hk1 0.lxxxix • Calculamos la derivada de la funci´on y 0 = f (t. y(0) = 2 .9 1.3 0.2(−1. con h = 0. 6 . yk+1 = yk + hf (tk .53358646×10−3 2.0 yk 0.91324 0. df (t. 2+ ) = −1. y) = t − y .6 0.1 0.18536075×10−4 1. y0 ) = f (0. y) = y 00 (t) = −2y − 2ty 0 = −2y − 2t(−2ty) = −2y + 4t2 y . y0 + hk3 ) = f (0 + 0. yk ) + h2 df (tk . 2 + 0.2 0.76075569×10−3 2.4 0.73 2 2 2 2 k4 = f (t0 + h.69550 0.17608927 ×10−3 2.91439152×10−4 6.44209 0.52455 0.98337491×10−5 2.36526 ERROR 2. y0 + ) = f (0 + .73462797×10−3 2.2 0.2 × (−1.61009 0.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. y) = −2ty.85095 0.7) . dt En consecuencia. por el m´ etodo de Runga-Kutta de cuarto orden. respecto de t.2(−2) h .70555464 ×10−3 tk 0. y0 + ) = f (0 + .99 0.73)) = −1.2. 2+ ) = −1. tk 0 0.7 0.8 0.77709 ERROR 0 4.89686871×10−4 1. del siguiente problema de valores iniciales y 0 = f (t.61864321 ×10−3 EJERCICIO 4.2 • En primer lugar debemos encontrar las constantes k1 = f (t0 .5 yk 1 0.454 y a continuaci´on aplicar la f´ormula yk+1 = yk + h (k1 + 2k2 + 2k3 + k4 ) .7 Encontrar un valor aproximado de y(1).96049 0.2 0.

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

15834×10−10 3.34843 0. yk + hβk3 ) βk4 = g(tk + h.7 0.9 1.24196 0. xk + .xci tk 0.00000 4.52770×10−9 tk 0.9 1.2 0. xk .40117 yk 0.1 0.5 yk 1. yk + ) 2 2 2 βk3 = g(tk + h hαk2 hβk2 .15432 0.19339 0.01967 0. yk ) αk2 = f (tk + h hαk1 hβk1 .19829 0.1. y) = x .00498 0. x.6 0.99004 0.3 0.28293 0.2 0.1 es la siguiente tk 0.00000 0.70467×10−7 1.44485 0.62525×10−6 EJERCICIO 4.0 0. y(0) = 0 tomando h = 0. xk + .61262 0. y) = −4y + cos t .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 + hβk3 ) La tabla de las soluciones con h = 0.38813 0.77880 ERROR 0.4 0.8 0.43314 0.91674×10−9 1.8 0. xk .04333 0. x(0) = 0 y 0 (t) = g(t. yk ) βk1 = g(tk .32571 – yk 0.15806×10−7 5. yk + ) 2 2 2 αk4 = f (tk + h.3 0.11067 ×10−8 2. x. yk + ) 2 2 2 βk2 = g(tk + h hαk1 hβk1 .64987×10−8 2. xk + hαk3 .00000 0.06502×10−7 9.4 0.27792 0.5 xk 0.69767 0.11242 tk 0. xk + hαk3 . • 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 . yk + ) 2 2 2 αk3 = f (tk + h hαk2 hβk2 .52729 0.6 0.09917 0.91393 0.12525×10−8 1.0 – xk 0.00000 0.07478 0.0 0.85214 0.36788 - ERROR 6. xk + .7 0.42726 0.1 0.31881 – .96078 0.0 - yk 0.44223 0. xk + .

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

Sign up to vote on this title
UsefulNot useful