• No se han encontrado resultados

Diferencias Finitas. Problemas de Valor Inicial

N/A
N/A
Protected

Academic year: 2022

Share "Diferencias Finitas. Problemas de Valor Inicial"

Copied!
42
0
0

Texto completo

(1)

Diferencias Finitas

Problemas de Valor Inicial

Modelaci´ on computacional en las ciencias y las ingenier´ıas como apoyo en el proceso ense˜ nanza-aprendizaje

(PAPIME-PE101019)

Instituto de Geof´ısica

Universidad Nacional Aut´ onoma de M´ exico

Esta obra est´a bajo unaLicencia Creative Commons Atribuci´on-NoComercial-CompartirIgual 4.0 Internacional.

(2)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 2 / 42

(3)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

(4)

Problemas de Valor Inicial

Las ecuaciones diferenciales que modelan problemas de la ciencia y la ingenier´ıa involucran el cambio de alguna variable con respecto a otra. La mayor´ıa de estos problemas requieren de la soluci´ on de un problema de valor inicial, es decir, la soluci´ on de una ecuaci´ on diferencial que satisface una condici´ on inicial dada:

IVP (Initial Value Problem) Aproximar la soluci´ on y(t) al problema:

dy(t)

dt = f (t, y), para a ≤ t ≤ b sujeto a la condici´ on inicial y(a) = α

En muchos casos las soluciones anal´ıticas a los problemas de valor inicial no pueden encontrarse, por lo que se usan m´ etodos num´ ericos para aproximar sus soluciones.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 4 / 42

(5)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

(6)

M´ etodo de Euler

El m´ etodo de Euler es el m´ as sencillo para obtener soluciones

aproximadas al problema de valor inicial bien planteado que se escribe como:

dy

dt = f (t, y), a ≤ t ≤ b, y(a) = α (1) Podemos aproximar la soluci´ on en N t pasos de tiempo igualmente espaciados en [a, b], estos puntos se definen como sigue: t n = a + n ∗ h t

para n = 0, 1, 2, . . . , N t , donde h t = (b − a)/N t es el tama˜ no del paso (stepsize).

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 6 / 42

(7)

Supongamos que el problema (1) tiene una soluci´ on ´ unica y(t) y que adem´ as tiene dos derivadas continuas en [a, b], de tal manera que para cada n = 0, 1, 2, . . . , N t − 1 tenemos la siguiente expansi´ on en series de Taylor:

y(t n+1 ) = y(t n ) + (t n+1 − t n ) dy

dt (t n ) + (t n+1 − t n ) 2 2

d 2 y dt 2n ) para alg´ un n´ umero ξ n ∈ (t n − t n+1 ). Dado que y(t) satisface la ecuaci´ on diferencial (1) y como h t = (t n+1 − t n ) entonces podemos escribir:

y(t n+1 ) = y(t n ) + h t f (t n , y(t n )) + h 2 t

2 y 00n ) (2)

(8)

Forward Euler

El m´ etodo de Euler hacia adelante (forward ) consiste en eliminar el

´

ultimo t´ ermino de la ecuaci´ on (2) de tal manera que, definiendo y n = y(t n ) tenemos lo siguiente

y 0 = y(a) = α

y n+1 = y n + h t f (t n , y n ), para n = 0, 1, 2, . . . , N t − 1 (3) La ecuaci´ on (3) proporciona una aproximaci´ on a la soluci´ on del

problema (1) en el paso t n+1 y se conoce como la ecuaci´ on en diferencias. Este m´ etodo:

• Es expl´ıcito.

• Es barato.

• Es f´ acil de implementar.

• Es condicionalmente estable

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 8 / 42

(9)

Backward Euler

Es posible derivar un m´ etodo de Euler hacia atr´ as (Backward Euler) el cual se escribe como:

y

0

= y(a) = α

y

n+1

= y

n

+ h

t

f (t

n+1

, y

n+1

), para n = 1, 2, . . . , N

t

− 1 (4) Obs´ ervese que:

• Esta f´ ormula es impl´ıcita.

• El costo por paso puede ser mayor que en el caso de Forward Euler.

• En general es m´ as dif´ıcil de implementar.

• Este m´ etodo es m´ as estable que el Forward Euler.

(10)

Ejercicio 6: Decaimiento radiocativo

La ley de decaimiento radioactivo dice que la masa de una substancia radioactiva decae a una raz´ on que es proporcional a la cantidad de masa que est´ a presente. Si y(t) expresa la cantidad de substancia en el tiempo t, entonces la ley de decaimiento se expresa como:

dy(t)

dt = −λy(t), para 0 < t < T

max

y(0) = y

0

(condici´ on inicial)

donde y

0

representa la cantidad de susbtancia inicial, T

max

= h

t

∗ N

t

y λ > 0. La soluci´ on exacta es: y(t) = y

0

e

−λt

.

1 Aproximar el decaimiento radioctivo usando los m´ etodos forward Euler y backward Euler :

a Escribir y analizar las f´ ormulas de los m´ etodos.

b Implementar los m´ etodos en Python.

c Mostrar el comportamiento de ambos m´ etodos para λ = 1.5, y

0

= 20, T

max

= 10 y N

t

= 7, 8, 9, 10, 20.

d ¿Cu´ antos pasos de tiempo (N

t

) se necesitan para que el error sea menor que 1.0 en cada m´ etodo?

Entregue su c´ odigo documentado en una notebook de nombre E06 decaimiento.ipynb.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 10 / 42

(11)

Ejercicio 6: Soluci´ on 1.a

Forward Euler:

y

n+1

= y

n

− h

t

λy

n

=⇒ y

n+1

= (1 − h

t

λ) y

n

Paso 1: y

1

= A y

0

Paso 1: y

2

= A

2

y

0

. . . . . . . . . Paso N

t

: y

n+1

= A

Nt

y

0

Donde: A = (1 − h

t

λ). Obs´ ervese que si existe un error en y

i

, ese error se multiplica por A al calcular y

i+1

. Si

|A| > 1 dicho error podr´ıa llevar a la no convergencia del m´ etodo.

Backward Euler:

y

n+1

= y

n

− h

t

λy

n+1

=⇒ y

n+1

= (1 + h

t

λ)

−1

y

n

Paso 1: y

1

= B y

0

Paso 1: y

2

= B

2

y

0

. . . . . . . . . Paso N

t

: y

n+1

= B

Nt

y

0

Donde: B = (1 + h

t

λ)

−1

. Obs´ ervese que

si existe un error en y

i

, ese error se

multiplica por B al calcular y

i+1

, pero

B < 1 en todos los casos, por lo que el

m´ etodo es estable.

(12)

Ejercicio 6: Soluci´ on 1.b

Nota: implemente el siguiente c´ odigo y documente usando docstring. Agregue el c´ odigo corrrespondiente para realizar las gr´ aficas que se muestran en las siguientes p´ aginas.

def m e s h ( a , b , Nt ):

ht = ( b - a ) / Nt r e t u r n ht

def e x a c t S o l u t i o n ( t , y0 , lam ):

r e t u r n y0 * np . exp ( - lam * t )

def f o r w a r d E u l e r ( y , ht , lam ):

A = 1 - ht * lam An = [ A ]

for i , val in e n u m e r a t e( y [ 0 : - 1 ] ) : y [ i +1] = A * y [ i ]

An . a p p e n d ( An [ i ] * A ) r e t u r n An

def b a c k w a r d E u l e r ( y , ht , lam ):

B = 1 /(1 + ht * lam ) Bn = [ B ]

for i , val in e n u m e r a t e( y [ 0 : - 1 ] ) : y [ i +1] = B * y [ i ]

Bn . a p p e n d ( Bn [ i ] * B ) r e t u r n Bn

Nt = 6 T m a x = 10

ht = m e s h (0 , Tmax , Nt ) y0 = 20

lam = 1.5

t = np . l i n s p a c e (0 , Tmax , Nt +1) yf = np . z e r o s ( Nt +1)

yb = np . z e r o s ( Nt +1)

yf [0] = y0 yb [0] = y0

e r r o r _ f = f o r w a r d E u l e r ( yf , ht , lam ) e r r o r _ b = b a c k w a r d E u l e r ( yb , ht , lam )

tl = np . l i n s p a c e (0 , Tmax , 1 0 0 ) y _ e x a c t a = e x a c t S o l u t i o n ( tl , y0 , lam ) y _ e x a c _ p = e x a c t S o l u t i o n ( t , y0 , lam )

e r r o r _ f = np . l i n a l g . n o r m ( yf - y _ e x a c _ p ,2) e r r o r _ b = np . l i n a l g . n o r m ( yb - y _ e x a c _ p ,2)

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 12 / 42

(13)

Ejercicio 6: Soluci´ on 1.c

0 2 4 6 8 10

t 30

20 10 0 10 20 30

y( t)

y(t) = y

0

e

λt

, N

t

= 7, h

t

= 1.43, Error: FE = 97.265882144, BE = 4.429308736

Sol. Exacta Forward Euler Backward Euler

1 2 3 4 5 6 7

n 3

2 1 0 1 2 3

A

n

, B

n

An Bn

Decaimiento Radioactivo

El m´ etodo forward Euler (FE) es inestable y diverge. El m´ etodo backward Euler (BE) es muy estable y se obtiene una buena soluci´ on aunque imprecisa con un error de ∼ 4.43. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, reflejan el

comportamiento de cada

soluci´ on.

(14)

Ejercicio 6: Soluci´ on 1.c

0 2 4 6 8 10

t 30

20 10 0 10 20 30

y( t)

y(t) = y

0

e

λt

, N

t

= 8, h

t

= 1.25, Error: FE = 35.449598858, BE = 4.428349749

Sol. Exacta Forward Euler Backward Euler

1 2 3 4 5 6 7 8

n 1.0 0.8

0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8

A

n

, B

n

An Bn

Decaimiento Radioactivo

La h

t

se reduce, por lo que el m´ etodo FE ya no diverge, pero es inestable de tal manera que oscila.

El m´ etodo BE sigue estable, observe que el error es similar al del caso anterior. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, se mantienen entre −1 y 1, es decir |A

n

| < 1 y

|B

n

| < 1.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 14 / 42

(15)

Ejercicio 6: Soluci´ on 1.c

0 2 4 6 8 10

t 30

20 10 0 10 20 30

y( t)

y(t) = y

0

e

λt

, N

t

= 9, h

t

= 1.11, Error: FE = 20.592451368, BE = 4.389771777

Sol. Exacta Forward Euler Backward Euler

1 2 3 4 5 6 7 8 9

n 0.8 0.6

0.4 0.2 0.0 0.2 0.4 0.6

A

n

, B

n

An Bn

Decaimiento Radioactivo

La h

t

es a´ un menor, pero el m´ etodo FE sigue oscilando, aunque menos que en el caso anterior. El m´ etodo BE sigue estable, observe que el error es del mismo orden que el caso anterior. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, muestran una reducci´ on y se sigue cumpliendo

|A

n

| < 1 y |B

n

| < 1.

(16)

Ejercicio 6: Soluci´ on 1.c

0 2 4 6 8 10

t 30

20 10 0 10 20 30

y( t)

y(t) = y

0

e

λt

, N

t

= 10, h

t

= 1.00, Error: FE = 15.316185442, BE = 4.330108267

Sol. Exacta Forward Euler Backward Euler

1 2 3 4 5 6 7 8 9 10

n 0.5 0.4

0.3 0.2 0.1 0.0 0.1 0.2 0.3 0.4

A

n

, B

n

An Bn

Decaimiento Radioactivo

La h

t

es a´ un menor, el m´ etodo FE oscila menos que en el caso anterior y el error se ha reducido. El m´ etodo BE sigue estable, observe que el error es del mismo orden que el caso anterior. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, muestran una reducci´ on y observe ahora que

|A

n

| < 0.5 y |B

n

| < 0.5.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 16 / 42

(17)

Ejercicio 6: Soluci´ on 1.c

0 2 4 6 8 10

t 30

20 10 0 10 20 30

y( t)

y(t) = y

0

e

λt

, N

t

= 20, h

t

= 0.50, Error: FE = 5.867683225, BE = 3.612508004

Sol. Exacta Forward Euler Backward Euler

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 n

0.0 0.1 0.2 0.3 0.4 0.5 0.6

A

n

, B

n

An Bn

Decaimiento Radioactivo

Finalmente el m´ etodo FE ya no oscila y su

comportamiento es similar al m´ etodo BE, a partir de ahora parece que los errores comienzan a reducirse en ambos casos conforme se aumenta N

t

. De igual manera las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

tienen un comportamiento similar y se mantienen en

|A

n

| < 1 y |B

n

| < 1.

(18)

Ejercicio 6: Soluci´ on 1.d

0 2 4 6 8 10

t 10 5 0 5

10 15 20 25 30

y( t)

y(t) = y

0

e

λt

, N

t

= 367, h

t

= 0.03, Error: FE = 1.023147849, BE = 0.999034497

Sol. Exacta Forward Euler Backward Euler

0 50 100 150 200 250 300 350

n 0.0

0.2 0.4 0.6 0.8 1.0

A

n

, B

n

An Bn

Decaimiento Radioactivo

Se requiere de N

t

= 367 para que el m´ etodo BE tenga un error menor que 1. Sin embargo ambos m´ etodos presentan un compartamiento similar con un error muy parecido. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, se mantienen en |A

n

| < 1 y

|B

n

| < 1.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 18 / 42

(19)

Ejercicio 6: Soluci´ on 1.d

0 2 4 6 8 10

t 10 5 0 5

10 15 20 25 30

y( t)

y(t) = y

0

e

λt

, N

t

= 384, h

t

= 0.03, Error: FE = 0.999700114, BE = 0.977171230

Sol. Exacta Forward Euler Backward Euler

0 50 100 150 200 250 300 350

n 0.0

0.2 0.4 0.6 0.8 1.0

A

n

, B

n

An Bn

Decaimiento Radioactivo

Se requiere de N

t

= 384 para que el m´ etodo FE tenga un error menor que 1. Sin embargo ambos m´ etodos presentan un compartamiento similar con un error muy parecido. Las gr´ aficas de los coeficientes de cada m´ etodo, A

n

y B

n

, se mantienen en |A

n

| < 1 y

|B

n

| < 1.

(20)

Ejercicio 6: C´ odigo para los gr´ aficos

E c u a c i o n = ’ $y(t) = y_0 e ^{\ lambda t}$,’ + ’ $N_t$ ’ + ’= {} ’.f o r m a t( Nt ) + \

’ , $h_t$ ’ + ’= {:03.2 f}’.f o r m a t( ht )

E r r o r = ’ , E r r o r : FE = { : 1 0 . 9 f } , BE = { : 1 0 . 9 f } ’ .f o r m a t( n o r m a _ e r r o r _ f , n o r m a _ e r r o r _ b )

plt . s t y l e . use ([ ’ S o l a r i z e _ L i g h t 2 ’ ]) fig , ( ax1 , ax2 ) = plt . s u b p l o t s (2 ,1)

fig . s u p t i t l e ( ’ D e c a i m i e n t o R a d i o a c t i v o ’ , f o n t s i z e = 1 4 ) ax1 . p l o t ( tl , y _ e x a c t a , ’g - ’ , lw =3 , l a b e l = ’ Sol . E x a c t a ’ ) ax1 . p l o t ( t , yf , ’ C7o - - ’ , l a b e l = ’ F o r w a r d E u l e r ’ ) ax1 . p l o t ( t , yb , ’ C6o - - ’ , l a b e l = ’ B a c k w a r d E u l e r ’ )

ax1 . s e t _ t i t l e ( E c u a c i o n + Error , f o n t s i z e =12 , c o l o r = ’ b l u e ’ ) ax1 . s e t _ x l i m ( -0.5 , t [ - 1 ] + 0 . 5 )

ax1 . s e t _ y l i m ( -30 ,30) ax1 . s e t _ x l a b e l ( ’$t$ ’) ax1 . s e t _ y l a b e l ( ’$y(t)$’)

ax1 . l e g e n d ( loc = ’ u p p e r r i g h t ’ , n c o l =1 , f r a m e a l p h a =0.75 , f a n c y b o x = True , f o n t s i z e = 1 0 ) ax1 . g r i d ( c o l o r = ’ w ’ )

n t i c k s = np . a r a n g e (1 , Nt +1 ,1)

ax2 . p l o t ( nticks , An [: -1] , ’ C7v - ’ , l a b e l = ’$A^n$ ’) ax2 . p l o t ( nticks , Bn [: -1] , ’ C6 ^ - ’ , l a b e l = ’$B^n$ ’) ax2 . s e t _ x l i m ( -0.5 , Nt + 0 . 5 )

ax2 . s e t _ x t i c k s ( n t i c k s ) ax2 . s e t _ x l a b e l ( ’$n$ ’)

ax2 . s e t _ y l a b e l ( ’$A^n$ , $B^n$ ’)

ax2 . l e g e n d ( loc = ’ u p p e r r i g h t ’ , n c o l =1 , f r a m e a l p h a =0.75 , f a n c y b o x = True , f o n t s i z e = 1 0 ) ax2 . g r i d ( c o l o r = ’ w ’ )

plt . s u b p l o t s _ a d j u s t ( h s p a c e = 0 . 3 5 )

plt . s a v e f i g ( ’ d e c a i m i e n t o _ N t _ {}. pdf ’ .f o r m a t( Nt )) plt . s h o w ()

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 20 / 42

(21)

Ejercicio 7: Decaimiento radiocativo con λ = 2.0

Resuelva el mismo problema del ejercicio 6, pero ahora use λ = 2.0 y conteste lo siguiente:

1 ¿Para qu´ e valor de N

t

el m´ etodo FE converge?

2 ¿Para qu´ e valor de N

t

el m´ etodo FE deja de oscilar?

3 ¿Para qu´ e valor de N

t

el m´ etodo BE tiene un error menor a 3.0?

4 ¿Para qu´ e valor de N

t

el m´ etodo FE tiene un error menor a 3.0?

Entregue su c´ odigo documentado en una notebook de nombre E07 decaimiento.ipynb.

(22)

Ejercicio 8: Equaci´ on log´ıstica

En el estudio de crecimiento de poblaciones, limitadas por competencia por alimentos, se tiene un modelo matem´ atico conocido como la ecuaci´ on log´ıstica:

dy(t)

dt = λy(1 − y), para 0 < t < T

max

y(0) = y

0

(condici´ on inicial)

donde y

0

es la poblaci´ on inicial, λ > 0 y T

max

= h

t

∗ N

t

. Obs´ ervese que en este caso la ecuaci´ on es no lineal, pues del lado derecho aparece un t´ ermino con y

2

. La soluci´ on exacta es: y(t) = y

0

y

0

+ (1 − y

0

)e

−λt

.

1 Aproximar el crecimiento de la poblaci´ on usando el m´ etodo forward Euler .

1 Escribir la f´ ormula del m´ etodo para este caso e implementarla en Python.

2 Reproducir la gr´ afica que se muestra en la siguiente l´ amina para λ = 10, y

0

= 0.01 y N

t

= 4, 16 y 64.

Entregue su c´ odigo documentado en una notebook de nombre E08 logistica.ipynb.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 22 / 42

(23)

Ejercicio 8: Equaci´ on log´ıstica

0.0 0.2 0.4 0.6 0.8 1.0

t

0.0

0.2 0.4 0.6 0.8 1.0

y(t)

y(t) = y0

y0 + (1 y0)e

t

Sol. Exacta

N

t

= 4, Error: 0.74879

N

t

= 16, Error: 0.45282

N

t

= 64, Error: 0.23659

Función logística

(24)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 24 / 42

(25)

M´ etodos de Runge-Kutta

El m´ etodo de Euler es de orden O(h t ). Es posible obtener m´ etodos de

´

ordenes mayores, varios de ellos son conocidos como m´ etodos de Runge-Kutta.

M´ etodo de Runge-Kutta de orden dos (punto medio)

w 0 = α (condici´ on inicial) k 1 = h t f (t n , w n )

w n+1 = w n + h t f (t n + h t /2, w n + k 1 /2) para n = 0, 1, . . . , N t − 1

Este m´ etodo es de orden O(h 2 t ).

(26)

M´ etodos de Runge-Kutta

M´ etodo de Runge-Kutta de orden tres (Heun)

w 0 = α (condici´ on inicial) k 1 = h t f (t n , w n )

k 2 = h t f (t n + h t /3, w n + k 1 /3) k 3 = h t f (t n + 2h t /3, w n + 2k 2 /3) w n+1 = w n + (k 1 + 3k 3 ) /4

para n = 0, 1, . . . , N t − 1

Este m´ etodo es de orden O(h 3 t ).

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 26 / 42

(27)

M´ etodos de Runge-Kutta

M´ etodo de Runge-Kutta de cuarto orden

w 0 = α (condici´ on inicial) k 1 = h t f (t n , w n )

k 2 = h t f



t n + h t

2 , w n + 1 2 k 1



k 3 = h t f



t n + h t

2 , w n + 1 2 k 2



k 4 = h t f (t n+1 , w n + k 3 ) w n+1 = w n + 1

6 (k 1 + 2k 2 + 2k 3 + k 4 ), para n = 0, 1, . . . , N t − 1

Este m´ etodo es de orden O(h 4 t ).

(28)

Ejercicio 9: M´ etodos de Runge-Kutta Considere el siguiente problema:

dy

dt = y − t

2

+ 1 en 0 ≤ t ≤ 4 y(0) = 0.5

Cuya soluci´ on exacta es: y(t) = (t + 1)

2

− 0.5e

t

.

Para h

t

= 1.0, 0.5, 0.25, 0.125 (N

t

= 4, 8, 16, 32), realice lo siguiente:

1 Aproximar la soluci´ on del problema con:

• M´ etodo de Euler.

• M´ etodo de Runge-Kutta de orden 2.

• M´ etodo de Runge-Kutta de orden 3.

• M´ etodo de Runge-Kutta de orden 4.

2 En una figura, grafique la soluci´ on exacta y comp´ arela con las soluciones num´ ericas obtenidas con cada m´ etodo.

3 En otra figura, grafique el error y explique el comportamiento de cada m´ etodo.

Entregue su c´ odigo documentado en una notebook de nombre E09 Runge-Kutta.ipynb.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 28 / 42

(29)

Ejercicio 9: Soluci´ on (1)

Nota: implemente el siguiente c´ odigo y documente usando docstring.

def m e s h ( a , b , Nt ):

ht = ( b - a ) / Nt r e t u r n ht

def f ( t , y ):

r e t u r n y - t **2 + 1

def E x a c t a ( t ):

r e t u r n ( t + 1 ) * * 2 - 0.5 * np . exp ( t )

def E u l e r ( f , t , w , ht ):

for i , val in e n u m e r a t e( w [ 0 : - 1 ] ) : w [ i +1] = w [ i ] + ht * f ( t [ i ] , w [ i ]) t [ i +1] = t [0] + ( i +1) * ht

def RK2 ( f , t , w , ht ):

for i , val in e n u m e r a t e( w [ 0 : - 1 ] ) : k1 = ht * f ( t [ i ] , w [ i ]) w [ i +1] = w [ i ] +

ht * f ( t [ i ] + ht * 0.5 , w [ i ] + k1 * 0 . 5 ) t [ i +1] = a + ( i +1) * ht

def RK3 ( f , t , w , ht ):

for i , val in e n u m e r a t e( w [ 0 : - 1 ] ) : k1 = ht * f ( t [ i ] , w [ i ]) k2 = ht * f ( t [ i ] + ht /3 ,

w [ i ] + k1 / 3) k3 = ht * f ( t [ i ] + 2 * ht / 3 ,

w [ i ] + 2 * k2 / 3) w [ i +1] = w [ i ] + ( k1 + 3 * k3 ) / 4 t [ i +1] = a + ( i +1) * ht

def RK4 ( f , t , w , ht ):

for i , val in e n u m e r a t e( w [ 0 : - 1 ] ) : k1 = ht * f ( t [ i ] , w [ i ]) k2 = ht * f ( t [ i ] + ht /2 ,

w [ i ] + k1 / 2) k3 = ht * f ( t [ i ] + ht /2 ,

w [ i ] + k2 / 2) k4 = ht * f ( t [ i ] + ht , w [ i ] + k3 ) w [ i +1] = w [ i ] + ( k1 + 2* k2 +

2* k3 + k4 ) / 6 t [ i +1] = a + ( i +1) * ht

(30)

Ejercicio 9: Soluci´ on (1)

Nota: implemente el siguiente c´ odigo y documente usando docstring. Agreque el c´ odigo corrrespondiente para reproducir las gr´ aficas que se muestran en las siguientes p´ aginas (en azul se muestran los errores obtenidos con cada m´ etodo).

Nt = 8 # 4 , 8 , 16 , 32 a = 0

b = 4

ht = m e s h ( a , b , Nt ) y0 = 0.5

t = np . l i n s p a c e ( a , b , Nt +1) y _ e u l = np . z e r o s ( Nt + 1 ) ; y _ r k 2 = np . z e r o s ( Nt +1) y _ r k 3 = np . z e r o s ( Nt +1) y _ r k 4 = np . z e r o s ( Nt +1)

y _ e u l [ 0 ] = y0 y _ r k 2 [ 0 ] = y0 y _ r k 3 [ 0 ] = y0 y _ r k 4 [ 0 ] = y0

E u l e r ( f , t , y_eul , ht ) RK2 ( f , t , y_rk2 , ht ) RK3 ( f , t , y_rk3 , ht ) RK4 ( f , t , y_rk4 , ht )

yp = E x a c t a ( t )

e _ e u l = np .abs( yp - y _ e u l ) e _ r k 2 = np .abs( yp - y _ r k 2 ) e _ r k 3 = np .abs( yp - y _ r k 3 ) e _ r k 4 = np .abs( yp - y _ r k 4 )

n _ e r r o r _ e u l = np . l i n a l g . n o r m ( e_eul , 2) n _ e r r o r _ r k 2 = np . l i n a l g . n o r m ( e_rk2 , 2) n _ e r r o r _ r k 3 = np . l i n a l g . n o r m ( e_rk3 , 2) n _ e r r o r _ r k 4 = np . l i n a l g . n o r m ( e_rk4 , 2)

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 30 / 42

(31)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 4

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 t

2 0 2 4 6

y( t)

E Eul : 4.6382, E RK2 : 1.4779, E RK3 : 0.3717, E RK4 : 0.2793 Euler

RK2 RK3 RK4 Exacta

Solución y aproximación Nt = 4

(32)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 4

1 2 3 4

n 10

1

10

0

Er ro r

E Eul : 4.6382, E RK2 : 1.4779, E RK3 : 0.3717, E RK4 : 0.2793 Euler

RK2 RK3 RK4

Errores Nt = 4

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 32 / 42

(33)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 8

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 t

2 0 2 4 6

y( t)

E Eul : 2.7881, E RK2 : 0.6453, E RK3 : 0.1021, E RK4 : 0.0234 Euler

RK2 RK3 RK4 Exacta

Solución y aproximación Nt = 8

(34)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 8

1 2 3 4 5 6 7 8

n 10

3

10

2

10

1

10

0

Er ro r

E Eul : 2.7881, E RK2 : 0.6453, E RK3 : 0.1021, E RK4 : 0.0234

Euler RK2 RK3 RK4

Errores Nt = 8

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 34 / 42

(35)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 16

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 t

2 0 2 4 6

y( t)

E Eul : 1.8807, E RK2 : 0.2576, E RK3 : 0.0218, E RK4 : 0.0019 Euler

RK2 RK3 RK4 Exacta

Solución y aproximación Nt = 16

(36)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

n 10

5

10

4

10

3

10

2

10

1

10

0

Er ro r

E Eul : 1.8807, E RK2 : 0.2576, E RK3 : 0.0218, E RK4 : 0.0019

Euler RK2 RK3 RK4

Errores Nt = 16

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 36 / 42

(37)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 32

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 t

2 0 2 4 6

y( t)

E Eul : 1.4408, E RK2 : 0.0973, E RK3 : 0.0042, E RK4 : 0.0002 Euler

RK2 RK3 RK4 Exacta

Solución y aproximación Nt = 32

(38)

Ejercicio 9: Comparaci´ on de m´ etodos con N

t

= 32

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 n

10

6

10

5

10

4

10

3

10

2

10

1

Er ro r

E Eul : 1.4408, E RK2 : 0.0973, E RK3 : 0.0042, E RK4 : 0.0002

Euler RK2 RK3 RK4

Errores Nt = 32

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 38 / 42

(39)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

(40)

[1] Richard Burden and J. Douglas Faires Numerical Analysis

Ninth Edition, 2011 Brooks/Cole, Cengage Learning [2] R.J. Leveque,

Finite Difference Method for Ordinary and Partial Differential Equations:

Steady State and Time-Dependent Problems ,

Society for Industrial and Applied Mathematics (SIAM), Philadelphia, 2007.

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 40 / 42

(41)

Contenido

1 Problemas de Valor Inicial

2 M´ etodo de Euler Ejercicio 6.

Ejercicio 7.

Ejercicio 8.

3 M´ etodos de Runge-Kutta Ejercicio 9.

4 Referencias

5 Cr´ editos

(42)

Cr´ editos

Dr. Luis M. de la Cruz Salas Departamento de Recursos Naturales

Instituto de Geof´ısica

Universidad Nacional Aut´ onoma de M´ exico

Trabajo realizado con el apoyo del Programa UNAM-DGAPA-PAPIME PE101019

©LMCS (IGEF–UNAM) PAPIME–PE101019 2019–2021 42 / 42

Referencias

Documento similar

Cancioneiro de Madrid. 1 Nunca espeiei de amor contentamiento. 5v) 2 Es en todo tan corta esta jornada. 6v) 3 Aquel camino larguo de mis daños. 8v) 5 El tiempo en toda cosa

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

ecuaci on lineal no homog enea pasa por encontrar un sistema fundamental de soluciones.. de la ecuaci on homog enea y despu es una soluci on particular de

(1886-1887) encajarían bien en una antología de textos históricos. Sólo que para él la literatura es la que debe influir en la historia y no a la inversa, pues la verdad litera- ria

El inconveniente operativo que presenta el hecho de que la distribuci´ on de probabilidad de una variable aleatoria es una funci´ on de conjunto se resuelve mediante el uso de

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Figura 5.9 Comparaci´ on del ranking la mejor soluci´ on encontrada hasta cada iteraci´ on, entre el algoritmo de b´ usqueda y su respectiva b´ usqueda aleatoria, para cada funci´

Amplitud y secci´ on eficaz de dispersi´ on. Aproximaci´ on de Born. Dispersi´ on por ´ atomos con nube electr´ onica. Teor´ıa de la dispersi´ on por ondas parciales.