introducción a métodos...
TRANSCRIPT
Introducción a Métodos Numéricos
Modelización de Sistemas Biológicos (por Computadora)
FIUNER
Modelo Matemático
• Nos interesa la dinámica del sistema
• Cómo evolucionan las distintas variables a lo largo del tiempo
• Sistemas de ecuaciones diferenciales ordinarias
)()(... 0011
1
1 txbtyadt
dya
dt
yda
dt
ydN
N
NN
N
xbzazazadt
dz
zdt
tdztz
zdt
tdz
dt
tdytz
tytz
NNN
012110
22
3
11
2
1
...
:
)()(
)()()(
)()(
Por qué en Modelización Computacional
• No es posible hallar la solución analítica
– No linealidad
– Complejidad
– Falta de condiciones de contorno
N valores: solución única
xbzazazadt
dz
zdt
tdztz
zdt
tdz
dt
tdytz
tytz
NNN
012110
22
3
11
2
1
...
:
)()(
)()()(
)()(
Tipos de errores en la solución numérica
• Errores de redondeo – Punto flotante
• 2.71828 x 10-1 0.271828 • 2.71828 x 10-0 2.71828
– Representac. Binaria en Percis. Simple (32 bits)
Mantisa: 01.01110 10111 x 2-4 23 x 2-4 1.4375 Exponente: 01.01110 x 211101 1.4375 x 2-13 0.00017547607421875
01.01110 x 211101
Menor cantidad de cifras significativas
Error de redondeo
• Existen 4 modos de redondeo:
– Redondeo al más cercano (al par en caso de empate)
– Redondeo a más infinito (por exceso)
– Redondeo a menos infinito (por defecto)
– Redondeo a cero (truncamiento)
• Bits adic. para operaciones
• Redondeo en operaciones
Ecuaciones rígidas Rotación orbital
Incorporac. de nutrientes y divic. celular
Errores en la soluc. numérica
• Error de truncamiento – Aproximar cualq. función por series matemáticas Taylor • Aproximar la función por serie de n términos
• Errores de propagación – Error local e (~ hn+1 en el método de Taylor)
– Error global E (~ hn en el método de Taylor)
Paso y truncamiento
)()!(
...)(!3
)(!2
)()()( )(32
tyn
hty
hty
htyhtyhty n
n
Campo de pendientes
• Normalmente conocemos
• Por ejemplo
))(,()( tytftydt
dy
)())(,()´( tNrtNtftNdt
dN
No conocemos N(t0)
El problema del valor inicial
• Ecuaciones diferenciales de 1° orden
• Conocemos el valor de y(t) sólo en t0 (y(t0)=y0)
• Reemplazando podemos conocer el valor de y´(t0)
• Con y´(t0) y un incremental de tiempo (h) podemos calcular el incremental de y?
Fijado el paso h y el algoritmo se fija la precisión (e)
))(,()( tytftydt
dy
Métodos de un paso
yn+1 = G(tn,yn)
• Tenemos y(t), queremos saber y(t+h)
• Conocemos sólo la condic. inicial
• Basados en la Serie de Taylor
error local de truncamiento proporc. a hn+1
)()!1(
)(!
...)(!3
)(!2
)()()( )1(1
)(32
n
nn
n
yn
hty
n
hty
hty
htyhtyhty
Métodos de un paso: Series de Taylor
• y´(t)=f(t,y)
• en la Serie de Taylor
Desarrollo de la Serie de Taylor alrededor de t
e α hn+1
• Difícil de implementar
• Se asumen y, y´,y´´,… continuas y conocidas
Truncando en el segundo término
Aproximación de Euler
)()!1(
))(,(!
...))(,´´(!3
))(,´(!2
))(,()()( )(1
)1(32
nn
nn
fn
htytf
n
htytf
htytf
htythftyhty
Métodos de un paso: Método de Euler
también
))(,()()( tythftyhty
))(,()()( 0000 tythftyhty
htt kk 1
),()( 11 kkkkk ythfyyty
Método de Euler
t
...)(!2
))(,()()(2
fh
tythftyhty
• Fácil de implementar
• Impreciso: e α h2
• Error de propagación (E) proporcional a h
• Inestable dependiendo de h N pasos
t
Método de Euler • En sistemas de ecuaciones diferenciales
Importante: orden del cálculo
Ej. (sistema presa/predador):
la aproximac. de Euler:
Cálculo: primero las tasas, luego las variables de estado
Método de Euler
• Si se conoce el error máximo local permitido (e), se calcula el error e1 para un paso h1 (que converja)
Como e α h2
1
1e
ehh
Método de Heun
Método de un paso pero predictor-corrector
integrando por regla del trapecio con h=t1-t0
1
0
1
0
1
0
))(,()()()()()())(,( 0101
t
t
t
t
t
t
dttytftytytytydttydttytf
))(,())(,(2
)()( 110001 tytftytfh
tyty f
t t0 t1
Método de Heun
aplicando aprox. de Euler
),(,),(2
11 kkkkkkkk ytfhytfytfh
yy
2
),(),( 111
kkkk
kk
ptfytfhyy
),(1 kkkk ytfhyp ;1 htt kk
))(,())(,(2
)()( 111 kkkkkk tytftytfh
tyty
Métodos de Runge-Kutta
• Métodos de paso simple
• No es necesario evaluar derivadas de orden N pese a que permiten obtener E análogos a aprox. de Taylor de orden N
• Estable
• Fácil de implementar
• Excelente performance
• Desventaja evaluar la función f en varios puntos.
Métodos Runge-Kutta
• RK4
Métodos de paso múltiple
• Además de yk y/o fk, requieren evaluar y o f en otros valores de t
• Más precisos
• Requieren más información de la que normalmente se dispone (para arrancar).
Debe utilizarse algún otro método para arrancar
Métodos de paso múltiple
• Midpoint
e α h2
Método predictor-corrector de paso múltiple
• Método Milne
2
),(),( 111
kkkk
kk
ptfytfhyy
Euler: saltos hacia adelante o atrás?
)(*)1()()()(1
)()(1
)()(
)()())(,()(
1
1
nfhynynyzFzYh
z
zFzYh
zsFsYs
sFsYstytftydt
dy
zinv
z
L
??)1()()()1(
)(
nynyynynyy
nfhy
o
Bibliografía
• John H. Mathews y Kurtis D. Fink. Métodos Numéricos con Matlab. Prentice-Hall. 463 – 555. 2000.
• J.W. Haefner. Modeling Biological Systems. Principles and Applications. Springer, NY, 2005
• Nicolás J. Scenna y Alejandro S. M. Santa Cruz. Capítulo XIII. Métodos Numéricos Aproximación para la Solución de Ecuaciones Diferenciales Ordinarias. ISBN: 950-42-0022-2. 1999
• José Díaz Medina. Ecuaciones diferenciales ordinarias. Departament de Física Atómica, Molecular i Nuclear Facultat de Física, Universitat de Valéncia. Capítulo 8.
• Francisco M. Gonzalez-Longatt. Comparación de Métodos Numéricos para la Solución Ecuación Diferencial de 1er Orden.