clase no. 25: diferenciación numérica: sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf ·...

31
Clase No. 25: Diferenciación numérica: Sistemas de ecuaciones lineales ordinarias Método predictor-corrector Método de disparo MAT–251 Dr. Alonso Ramírez Manzanares CIMAT A.C. e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 1 / 30

Upload: nguyenxuyen

Post on 02-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Clase No. 25:

Diferenciación numérica:Sistemas de ecuaciones lineales ordinarias

Método predictor-correctorMétodo de disparo

MAT–251 Dr. Alonso Ramírez ManzanaresCIMAT A.C.e-mail: [email protected]: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: [email protected]

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 1 / 30

Page 2: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Método de Picard (I)

Tenemos que

y(x) = y(x0) +

∫ x

x0

f (t,y(t))dt

Hacemos una partición uniforme y tomamos h= xk+1 − xk. Entonces

yk+1 = yk +

∫ xk+1

xk

f (t,yk)dt

De este modo, y se reemplaza por una constante y la integral se puede calcular poralguna regla de cuadratura (o de forma exacta).

Ejemplo. Resolver

y′ = 2x(1+ y2)

y(0) = 0

La solución analítica es y(x) = tan(x2).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 2 / 30

Page 3: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Método de Picard (II)

0.0 0.2 0.4 0.6 0.8 1.0 1.2

02

46

x

y

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●

●●

n = 200

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 3 / 30

Page 4: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Sistema de EDOs (I)

Sean yi(x) : R→ R para i = 1,2, ...,n. Queremos resolver el PVI

y′1 = f1(x,y1,y2, ...,yn)

y′2 = f2(x,y1,y2, ...,yn)

...

y′n

= fn(x,y1,y2, ...,yn)

yi(a) = αi, i = 1,2, ...,n.

Si

Y =

y1y2...yn

, Y ′ =

y′1y′2...y′n

, α =

α1α2...αn

, F =

f1f2...fn

,

Entonces el sistema se puede reescribir el PVI como

Y ′ = F(x,Y), Y(a) = α.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 4 / 30

Page 5: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Sistema de EDOs (II)

Para resolverlo, podemos extender cualquiera de los métodos de soluciónvistos previamente.

Por ejemplo, podemos usar

• un método basado en series de Taylor de orden m,

Y(x+ h) = Y(x) + hY ′(x) +h2

2Y ′′(x) + ...+

hm

m!Y(m)(x).

• un método tipo Runge-Kutta. Por ejemplo, el de cuarto orden:

Yk+1 = Yk +h

6(K1 + 2K2 + 2K3 +K4)

donde

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 5 / 30

Page 6: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Sistema de EDOs (III)

K1 = F(x, Y)

K2 = F(x+ h/2, Y + hK1/2)

K3 = F(x+ h/2, Y + hK2/2)

K4 = F(x+ h, Y + hK3)

Ejemplo. Resolver

y′1 = y1 − y2 + 2x− x2 − x3

y′2 = y1 + y2 − 4x2 + x3

y1(0) = 1y2(0) = 0

La solución del problema es

y1(x) = x2 + ex cosx, y2(x) = −x3 + ex sinx.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 6 / 30

Page 7: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Sistema de EDOs (IV)

Resolviendo en [0,2] con n = 50 se obtiene lo siguiente:

0.0 0.5 1.0 1.5 2.0

−1

01

2

c(a, b)

c(dm

in, d

max

)

y1

y2

Solución y1(2) y2(2)Euler 1.0538040281 -0.9873304309RK4 0.9250671066 -1.2811503428

Analítica 0.9250676794 -1.2811503026

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 7 / 30

Page 8: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Sistema de EDOs (V)

Diferencias entre la solución analítica y la solución numérica

0.0 0.5 1.0 1.5 2.0

−0.

30−

0.20

−0.

100.

00

c(a, b)

c(dm

in, d

max

)

Diferencias en y1Diferencias en y2

0.0 0.5 1.0 1.5 2.0−

2e−

070e

+00

2e−

074e

−07

6e−

07c(a, b)

c(dm

in, d

max

)

Diferencias en y1Diferencias en y2

Euler explícito Runge-Kutta de cuarto orden

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 8 / 30

Page 9: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ecuaciones de orden superior (I)

Para resolver la ecuación

y′′ = f (x,y,y′)

podemos introducir las variables

y1 = y

y2 = y′

Entonces

y′1 = y2

y′2 = f (x,y1,y2)

Para resolver la ecuación necesitamos una condición inicial

y1(a) = αy2(a) = β

=⇒ y(a) = α1y′(a) = α2

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 9 / 30

Page 10: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ecuaciones de orden superior (II)

En general, para resolver el PVI

y(n) = f (x, y, y′, ..., y(n−1))y(a) = α1y′(a) = α2

...y(n−1)(a) = αn

Hacemos y1 = y, y2 = y′, ..., yn = y(n−1) y obtenemos el sistema de ODEs:

y′1 = y2

y′2 = y3

...y′n−1 = yn

y′n

= f (x,y1,y2, ...,yn)

yi(a) = αi i = 1,2, ...,n

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 10 / 30

Page 11: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ejemplo (I)

Consideremos el PVI

y′′ = −y,y(0) = 1,y′(0) = 0,

para x ∈ [0,40].

La solución del problema es

y(x) = cosx.

Reescribimos el problema como un sistema de ecuaciones ordinarias:

y′1 = y2,

y′2 = −y1,

y1(0) = 1,y2(0) = 0,

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 11 / 30

Page 12: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ejemplo (II)

n = 400, h = 0.1

Euler explícito

0 10 20 30 40

−6

−4

−2

02

46

c(a, b)c(

dmin

, dm

ax)

Solucion analiticaSolucion numerica

RK4

0 10 20 30 40

−1.

0−

0.5

0.0

0.5

1.0

c(a, b)

c(dm

in, 1

.4)

Solucion analiticaSolucion numerica

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 12 / 30

Page 13: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ejemplo (III)

Para usar el método de Euler implícito, tenemos que

y1,k+1 = y1,k + hf1(xk+1,y1,k+1,y2,k+1) = y1,k + hy2,k+1

y2,k+1 = y2,k + hf2(xk+1,y1,k+1,y2,k+1) = y2,k − hy1,k+1

Entonces, para cada k = 1, ...,n tenemos que resolver un sistema lineal2× 2:

1 −hh 1

��

y1,k+1y2,k+1

=

y1,ky2,k

Usando la discretización con n = 400 (h = 0.1) obtenemos lo siguiente

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 13 / 30

Page 14: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ejemplo (IV)

0 10 20 30 40

−1.

0−

0.5

0.0

0.5

1.0

c(a, b)

c(dm

in, 1

.4)

Solucion analiticaSolucion numerica

Resultado obtenido con Euler implícito

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 14 / 30

Page 15: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Ejemplo (V)

Si hacemos una discretización más fina, con n = 40000, usando el métodode Euler explícito:

-1.5

-1

-0.5

0

0.5

1

1.5

0 5 10 15 20 25 30 35 40

Resultado obtenido con Euler explícito con h = 0.001.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 15 / 30

Page 16: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Problema de valores en la frontera (I)

En el intervalo [a,b] queremos resolver el problema de valores en la frontera:

y′′ = f (x,y,y′)

y(a) = α

y(b) = β

El problema lo podríamos resolver con los métodos vistos anteriormente situvieramos y′(a).

Este problema es más complicado que un PVI si queremos resolverlo usandoun método explícito. Una estrategia para resolverlo de esta forma es tratarde adivinar el valor de y′(a) y esperar a que cuando calculemos y(b)coincida con β.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 16 / 30

Page 17: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Problema de valores en la frontera (II)

0 1 2 3 4 5 6

010

2030

4050

c(a, b + 1.5)

c(m

in(Y

k[, 1

]), m

ax(Y

k[, 1

]))

y(b) = 44.0

y(b) = 19.0

y(b) = 1.1

y(b) = 6.0

Ejemplo: y′′ = −9.8, y(0) = 1.5, y(5) = 6.

Si y(b) 6= β, tratamos con otro valor para y′(a). Un procedimiento que haceesto de forma sistematica es el método de disparo.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 17 / 30

Page 18: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Método de disparo (I)

Tenemos que dar un valor a y′(a), digamos y′(a) = z. Al resolver la ecuacióntendremos que el valor de la solución en x = b dependerá de z, y por eso lodenotamos como ϕ(z).

Dado y′(a) = z, el método de disparo combina cualquier método queresuelve un PVI con algún método de cálculo de ceros de funciones.

La idea es la siguiente. Resolvemos dos PVIs:

y′′ = f (x,y(x),y′(x))y(a) = αy′(a) = zi

para dos valores z1 y z2 que elegimos de forma arbitraria. Con esto,obtenemos dos soluciones numéricas en las que en un caso tenemos quey(b) = ϕ(z1) y en el otro y(b) = ϕ(z2).

Si suponemos que ϕ(z) es una función lineal, entonces podemos determinarun cero de ϕ(z)− β de la siguiente manera.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 18 / 30

Page 19: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Método de disparo (II)

−2 0 2 4 6 8 10

−1

01

23

45

6

c(−2, 11)

c(−

1, 6

)

φ(z)

zz1 z2 z3

φ(z1)

φ(z2)β

z3 − z2

β − ϕ(z2)=

z2 − z1

ϕ(z2)− ϕ(z1)

z3 = z2 + [β − ϕ(z2)]z2 − z1

ϕ(z2)− ϕ(z1)

Si al resolver el PVI con y′(a) = z3 se tiene que y(b) 6= β, entonces repetimosla estimación de la derivada en x = a:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 19 / 30

Page 20: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Método de disparo (III)

zi+1 = zi + [β − ϕ(zi)]zi − zi−1

ϕ(zi)− ϕ(zi−1)

hasta que |ϕ(zi+1)− β| < ε dado.

Ejemplo. y′′ = 32y

2, y(0) = 4, y(1) = 1.

i zi ϕ(zi)1 -8.000000000 0.1161940202 -8.001000000 -0.0483029783 -7.994627221 2.3485849044 -7.998212801 0.5395737925 -7.997300206 0.8455628626 -7.996839606 1.0309898377 -7.996916585 0.9983570768 -7.996912709 0.9999836089 -7.996912670 1.000000009

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 20 / 30

Page 21: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Un refinamiento

Se puede mejorar la forma de interpolar los valores. Una forma es usarcalcular el polinómio cúbico p(z) que pasa por los puntos

(zi−3, ϕ(zi−3)), (zi−2, ϕ(zi−2)), (zi−1, ϕ(zi−1)), (zi, ϕ(zi))

y definimos zi+1 como la raíz de p(z)− β = 0.

Para no tener que resolver la ecuación cúbica, otra forma es calcular elpolinomio cúbico q(·) que pasa por los puntos

(ϕ(zj), zj ) j = i− 3, i− 2, i− 2, i.

y entonces calculamos zi+1 = q(β).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 21 / 30

Page 22: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Un refinamiento

Se puede mejorar la forma de interpolar los valores. Una forma es usarcalcular el polinómio cúbico p(z) que pasa por los puntos

(zi−3, ϕ(zi−3)), (zi−2, ϕ(zi−2)), (zi−1, ϕ(zi−1)), (zi, ϕ(zi))

y definimos zi+1 como la raíz de p(z)− β = 0.

Para no tener que resolver la ecuación cúbica, otra forma es calcular elpolinomio cúbico q(·) que pasa por los puntos

(ϕ(zj), zj ) j = i− 3, i− 2, i− 2, i.

y entonces calculamos zi+1 = q(β).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 21 / 30

Page 23: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (I)

Tenemos el problema y′ = f (x,y), x ∈ [a,b], con y(a) = α.

Hemos visto métodos de solución de un paso: para calcular yi+1 sólonecesitamos conocer yi.

Para calcular yi+1 un método multipaso, necesitamos conoceryi,yi−1, ...,yi−s con s ≥ 1.

Ejemplo de un método dos pasos.

Tenemos que

yk+1 = yk +

∫ xk+1

xk

f (s,y(s))ds

Para aproximar la integral, podemos reemplazar el integrando por unpolinomio de interpolación. Por ejemplo, podemos construir el polinomio degrado 1 que interpola los puntos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 22 / 30

Page 24: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (II)

fk = f (xk,yk) ≈ f (xk,y(xk))

fk−1 = f (xk−1,yk−1) ≈ f (xk−1,y(xk−1))

Así,

P1(s) = fk +fk − fk−1

h(s− xk)

Entonces

yk+1 − yk =

∫ xk+1

xk

f (s,y(s))ds ≈∫ xk+1

xk

P1(s)ds

= fks+fk − fk−1

2h(s− xk)2

xk+1

xk

= fkh+fk − fk−1

2h

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 23 / 30

Page 25: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (III)

yk+1 − yk =h

2(3fk − fk−1)

Este método es explícito y pertenece a la familia de métodosAdams-Bashforth.

Método explícito de Adams-Bashforth de 2 pasosy0 = α, y1 = α1,

yk+1 = yk +h

2[3f (xk,yk)− f (xk−1,yk−1)]

Este método tiene un error O(h3).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 24 / 30

Page 26: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (IV)

Observaciones:

Supongamos que tenemos un método de s pasos.

• Hay que tomar en cuenta que no podemos usar el método multipasopara calcular

y1, y2, ..., ys.

Así el primer valor que podemos calcular con este método es ys+1.

• Tenemos que buscar una forma de obtener los primeros s valores.

• Una alternativa es usar un método explícito para calcular y1,y2, ...,ys.

• Es importante que el método que elijamos para realizar cálculos losprimeros valores sea del mismo orden que el método multipaso.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 25 / 30

Page 27: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (V)

Tenemos métodos explícitos, como los siguientes:

Método explícito de Adams-Bashforth de 3 pasosy0 = α, y1 = α1, y2 = α2,

yi+1 = yi +h

12[23f (xi,yi)− 16f (xi−1,yi−1) + 5f (xi−2,yi−2)]

Este método tiene un error O(h4).

Método explícito de Adams-Bashforth de 4 pasosy0 = α, y1 = α1, y2 = α2, y3 = α3,

yi+1 = yi +h

24[55f (xi,yi)− 59f (xi−1,yi−1) + 37f (xi−2,yi−2)− 9f (xi−3,yi−3)]

Este método tiene un error O(h5).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 26 / 30

Page 28: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (VI)

También hay métodos implícitos.

Método implícito de Adams-Moulton de 2 pasosy0 = α, y1 = α1,

yi+1 = yi +h

12[5f (xi+1,yi+1) + 8f (xi,yi)− f (xi−1,yi−1)]

Este método tiene un error O(h4).

Método implícito de Adams-Moulton de 3 pasosy0 = α, y1 = α1, y2 = α2,

yi+1 = yi +h

24[9f (xi+1,yi+1) + 19f (xi,yi)− 5f (xi−1,yi−1) + f (xi−2,yi−2)]

Este método tiene un error O(h5).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 27 / 30

Page 29: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos multipaso (VII)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 28 / 30

Page 30: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos predictor-corrector (I)

Es usual combinar los métodos explícitos y los implícitos, y el resultado esun método predictor-corrector:

• Se usa un método explícito para predecir el valor de una aproximación,

• y se aplica un método implícito para corregir esa predicción.

Por ejemplo, para obtener un método de cuarto orden predictor-correctorpodemos proceder de la siguiente manera:

Calculamos los valores y1,y2,y3 usando el método de Runge-Kutta decuarto orden.

Predecimos el valor y4 usando el método explícito de Adams-Bashforthde cuatro pasos:

y4 = y3 +h

24[55f (x3,y3)− 59f (x2,y2) + 37f (x1,y1)− 9f (x0,y0)]

Calculamos y4 usando el método implícito de Adams-Moulton de trespasos.

y4 = y3 +h

24[9f (x4, y4) + 19f (x3,y3)− 5f (x2,y2) + f (x1,y1)]

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 29 / 30

Page 31: Clase No. 25: Diferenciación numérica: Sistemas de ...joaquin/cursos/mat251/clases/clase25.pdf · Sistemas de ecuaciones lineales ordinarias Método predictor-corrector ... Sistema

Métodos predictor-corrector (II)

Continuamos de esta forma para calcular los valores restantes.

Ejemplo. y′ = y − t2 + 1, t ∈ [0,2], y(0) = 0.5.

xi y(xi) yi |y(xi)− yi|0.0 0.5000000 0.5000000 00.2 0.8292986 0.8292933 0.00000530.4 1.2140877 1.2140762 0.00001140.6 1.6489406 1.6489220 0.00001860.8 2.1272295 2.1272056 0.00002391.0 2.6408591 2.6408286 0.00003051.2 3.1799415 3.1799026 0.00003891.4 3.7324000 3.7323505 0.00004951.6 4.2834838 4.2834208 0.00006301.8 4.8151763 4.8150964 0.00007992.0 5.3054720 5.3053707 0.0001013

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 18.11.2015 30 / 30