Post on 15-Oct-2019
transcript
Introducción a Métodos Numéricos
Modelización de Sistemas Biológicos por Computadora
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
– 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)
-1.01110 x 21100 -1.01110 x 24
-10111 -23-1.01110 x 20100
-1.01110 x 2-4 -0.00010111 0.08984375
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ígidasIncorporac. de nutrientes y divic. celular
Rotación orbital
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
– Error global E
Paso y truncamiento
)()!1(
...)(!3
)(!2
)()()( )1(132
tyn
hty
hty
htyhtyhty n
n
Campo de pendientes
• Normalmente conocemos
• Por ejemplo
))(,()( tytftydt
dy
)())(,()´( tNrtNtftNdt
dN
El problema del valor inicial
• Ecuaciones diferenciales de 1° orden
• Conocemos el valor de y(t) sólo en t0
• 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
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
),()( 1 kkkk ythfyty
Método de Euler
...)(!2
))(,()()(2
fh
tythftyhty
• Fácil de implementar
• Impreciso: e α h2
• Inestable dependiendo de h
• Error de propagación (E) proporcional a hN pasos
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
Como e α h2
1
1e
ehh
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étodo de Heun• Método de un paso pero predictor-corrector
integrando por regla del trapecio con h=t1-t0
aplicando aprox. de Euler
1
0
1
0
1
0
))(,()()()()()())(,( 0101
t
t
t
t
t
t
dttytftytytytydttydttytf
))(,())(,(2
)()( 110001 tytftytfh
tyty
),(,),(2
00010001 ytfhytfytfh
yy
2
),(),( 111
kkkk
kk
ptfytfhyy
),(1 kkkk ytfhyp htt kk 1
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étodos predictor corrector
• Método Milne
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. Departamentde Física Atómica, Molecular i Nuclear Facultat de Física, Universitatde 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.