36
Integracion numerica Metodos adaptativos y de paso multiple

Integracion numerica Metodos adaptativos y de paso multiple

Embed Size (px)

Citation preview

Page 1: Integracion numerica Metodos adaptativos y de paso multiple

Integracion numerica

Metodos adaptativos y de paso multiple

Page 2: Integracion numerica Metodos adaptativos y de paso multiple

Contenido

Metodos adaptativos: step halvingMetodos adaptativos embebidosMetodos multi-step

Page 3: Integracion numerica Metodos adaptativos y de paso multiple

METODOS ADAPTATIVOS: STEP HALVING

Page 4: Integracion numerica Metodos adaptativos y de paso multiple

Runge Kutta adaptativos

Usar un paso de integracion pequeño en

regiones de alto gradiente (cambio

abrupto)

Ajuste automatico del tamaño del paso

Proposito

Page 5: Integracion numerica Metodos adaptativos y de paso multiple

Runge Kutta adaptativo

Primera aproximacion: Step halving

Estimar el error local usando dos tamaños de paso diferentes

Resolver dos veces cada paso:

una vez con un paso completo y luego con dos ½ pasos

Page 6: Integracion numerica Metodos adaptativos y de paso multiple

Metodo Step Halving

Calcular la solucion dos veces usando el metodo RK de 4to-orden

x1 – estimacion con un paso completo;

x2 – estimacion con dos medios pasos

2 1

2 2 15

x x

x x

Correccion del error estimado de 5th-orden

Page 7: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK4 adaptativo

Asumiendo que x(t) es la solucion exacta, con un paso completo h

Con dos pasos de h/2

1( ) hx t h x

2 / 2( ) hx t h x

Error con dos pasos de h/2

Error con un paso de h

Page 8: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK4 adaptativo

Page 9: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK4 adaptativo

Para RK4 el errror por truncado es del orden de h5 entonces,

Con dos pasos de h/2

5 61( ) ( )x t h x h O h

56

2( ) 2 ( )2

hx t h x O h

Si h pequeño entonces a es aprox. el mismo

Page 10: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK4 adaptativo

Entonces,

5

2 12 2 22

2 15 15

x xhx x x x

55 5

2 1 2 15

15 162 ( )

32 16 15

hx x h h x x

h

Correccion del error estimado de 5th-orden

Page 11: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK4 adaptativo

El error estimado puede ser usado para ajustar el tamaño del paso, usando unos limites de tolerancia

Page 12: Integracion numerica Metodos adaptativos y de paso multiple

METODOS ADAPTATIVOS EMBEBIDOS

Page 13: Integracion numerica Metodos adaptativos y de paso multiple

Runge Kutta adaptativos

Segunda aproximacion: RK embebidos

(tambien llamados metodos RK-Fehlberg)

Estimar el error por truncado usando metodos Runge-Kutta de orden diferente

Page 14: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK ODE23

Funcion en MATLAB : ODE23

Algoritmo BS23 (Bogacki and Shampine, 1989; Shampine, 1994)

Usa simultaneamente los metodos RK de 3ro y 4to orden para resolver la ODE y estimar el error para el ajuste del paso de integracion (step-size)

Page 15: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK ODE23

Funcion en MATLAB: ODE23

Error estimado

i 1 1 2 3

1(2 3 4 )

9ix x k k k h

1 1 2 3 4

1( 5 6 8 9 )

72i k k k k h

1

2 1

3 2

( , )

1 1 ( , )

2 23 3

( , , )4 4

i i

i i

i i

k f x t

k f x k h t h

k f x k h t h

4 1 1( , )i ik f x t

Notar: k1 es el mismo k4 del paso anterior

Page 16: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK ODE23

Usa solamente tres evaluaciones de la funcion:

(k1, k2, k3)

Despues de cada paso se chequea el error para determinar si esta dentro de la tolerancia deseada

Si el error es demasiado grande, se reduce el tamaño del paso y se repite hasta que el error estimado sea aceptable

max(RelTol ,AbsTol)x

Page 17: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK ODE23

Usa solamente tres evaluaciones de la funcion:

(k1, k2, k3)

Despues de cada paso se chequea el error para determinar si esta dentro de la tolerancia deseada

Si el error es demasiado grande, se reduce el tamaño del paso y se repite hasta que el error estimado sea aceptable

max(RelTol ,AbsTol)x RelTol: relative tolerance (default = 103)

AbsTol: absolute tolerance (default = 106)

Page 18: Integracion numerica Metodos adaptativos y de paso multiple

Metodo RK ODE23

Ejemplo: Usar ode23 para resolver la siguiente ecuacion de t = 0 a 4:

500y e10y60dt

dy 22 075022t .)(;. ]).(/[)(

function yp = ex21_2(t, y)

% Examplo

yp = 10*exp(-(t-2)*(t-2)/(2*0.075^2)) - 0.6*y;

Page 19: Integracion numerica Metodos adaptativos y de paso multiple

Ejemplo: ode23>> options = odeset('RelTol',1.e-4);

>> ode23('ex21_2', [0 4], 0.5, options);

>> options = odeset('RelTol',1.e-3);

>> ode23('ex21_2', [0 4], 0.5, options);

(a) RelTol = 103 (b) RelTol = 104

Page 20: Integracion numerica Metodos adaptativos y de paso multiple

Funciones en Matlab

Funcion: ode45 Dormand and Prince (1990) Utiliza formulas de RK4 y RK5

Page 21: Integracion numerica Metodos adaptativos y de paso multiple

Metodo Runge-Kutta Fehlberg

Se usan

RK de 4to oden

RK de 5to orden

hk1771

512k

594

125k

621

250k

378

37yy 6431i1i )(

hk4

1k

14336

277k

55296

13525k

48384

18575k

27648

2825yy 65431i1i )(

Page 22: Integracion numerica Metodos adaptativos y de paso multiple

Metodo Runge-Kutta Fehlberg

1

2 1

3 1 2

4 1 2 3

5 1 2 3 4

6 1 2 3

( , )

1 1( , )

5 53 3 9

( , )10 40 40

3 3 9 6( , )

5 10 10 511 5 70 35

( , )54 2 27 27

7 1631 175 575 44275( ,

8 55296 512 13824 11

i i

i i

i i

i i

i i

i i

k f x y

k f x h y k h

k f x h y k h k h

k f x h y k h k h k h

k f x h y k h k h k h k h

k f x h y k h k h k h

4 5

253)

0592 4096k h k h

Coeficientes desarrollados por Cash y Karp (1990). Llamado tambien metodo RK Cash-Karp

Page 23: Integracion numerica Metodos adaptativos y de paso multiple

Metodo Runge-Kutta Fehlberg

Error estimado: Se usan los metodos RK4 y RK5 para estimar el error local

Para ambos metodos se usan los mismos coeficientes k1, k2, k3, k4, k5, y k6

hk1771

512

4

1hk 0

14336

277hk

594

125

55296

13525

hk 621

250

48384

18575hk 00hk

378

37

27648

2825Error

654

321

Page 24: Integracion numerica Metodos adaptativos y de paso multiple

Algoritmo

Calcular yi+1 usando el metodo RK4

(y1)4th

Calcular yi+1 usando el metodo RK5

(y2)5th

Calcular el error E = (y2)5th - (y1)4th

Ajustar el tamaño del paso de acuerdo con el error

estimado

Page 25: Integracion numerica Metodos adaptativos y de paso multiple

Control del step-size

Ajustar el tamaño del paso de acuerdo con el error estimado

Incrementar el tamaño si el error es demasiado pequeño, decrecer si es demasiado grande

Para esquemas de 4to-orden

present

present

0.2 if ;

0.25 if

Desired error value

newnewnew present

newpresent

new

h h

Page 26: Integracion numerica Metodos adaptativos y de paso multiple

Ajuste del step-size

Para incrementos del step-size (RK4, n = 4)

Para decrementos del step-size, h es implicito en new

h

h

present

new

1n

present

new

20

present

newpresent

1n

1

present

newpresentnew hhh

.

Para RK de orden n

250

present

newpresent

n

1

present

newpresentnew hhh

.

Reducir hnew tambien

reduce new

Page 27: Integracion numerica Metodos adaptativos y de paso multiple

Ejemplo

entrada

solucion

0.5y(0) e10y60dt

dy 22 075022t ;. ]).(/[)(

Step-size pequeño alrededor de t = 2

Metodo RK-Fehlberg con control adaptativo del tamaño del paso

t

t

Page 28: Integracion numerica Metodos adaptativos y de paso multiple

METODOS MULTI-STEP

Page 29: Integracion numerica Metodos adaptativos y de paso multiple

Los metodos single-Step

Los metodos Runge-Kutta

-- metodos de un solo paso

-- usan valores intermedios entre ti y ti+1

-- varias evaluaciones de la pendiente por paso

Page 30: Integracion numerica Metodos adaptativos y de paso multiple

Los metodos multi-step

Los metodos multi-step

Usan valores en ti , ti-1 , ti-2 etc, para construir un polinomio que aproxime a la funcion derivada

-- solo una evaluacion de la derivada por paso

Page 31: Integracion numerica Metodos adaptativos y de paso multiple

Los metodos multi-step

One-step Multistep

Page 32: Integracion numerica Metodos adaptativos y de paso multiple

Los metodos multi-step

Page 33: Integracion numerica Metodos adaptativos y de paso multiple

Los metodos multi-step

Metodos explicitos: b0 = 0

Metodos implicitos: b0 = distinto de cero

1 1 2 1i i ix a x a x

1 1

1 2 1 1

0+ [ ( , )

( , ) ( , ) ... ]i i

i i i i

bh f x y

b f x y b f x y

Page 34: Integracion numerica Metodos adaptativos y de paso multiple

Caso: polinomio de orden 1

Supongamos que el polinomio es una funcion lineal que pasa por {ti1, f[x(i1)]}, y f[ti,x(i)]. (m = 1)

1i

i

x

x

dxxf i i 1 32

hf f

Conocido como metodo Adams-Bashforth de dos pasos (AB-2)

Page 35: Integracion numerica Metodos adaptativos y de paso multiple

Metodo de Adams-Bashforth

Metodo de Adams-Bashforth de tres pasos

Metodo de Adams-Bashforth de cuatro pasos

1 -1 -223 -16 512i i i i i

hx x f f f

1 1 2 355 59 37 924i i i i i i

hx x f f f f

Page 36: Integracion numerica Metodos adaptativos y de paso multiple

Funciones en Matlab

Funcion: ode113

Adams-Bashforth-Moulton solver (order 1-12)

Metodo predictor-corrector