Análisis Numérico para Ingeniería

Anuncio
Análisis Numérico para Ingeniería
Clase Nro. 4
Ecuaciones Diferenciales Ordinarias
Sistemas de EDOs de 1er. Orden. (Ejemplo)
Transformación de EDOs de orden n.
Resolución de Sistemas de 1er. Orden.
Estabilidad del método de Runge-Kutta (4to.)
Estrategias de ajuste del paso h.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
2
Ejemplo de Sistemas de EDOs
El modelo SIR, desarrollado por el químico escocés William
Ogilvy Kernack y el matemático A.G. McKendrick , modela
la evolución de una enfermedad infecto-contagiosa.
El modelo divide
a la población en
individuos
suceptibles de
ser infectados,
individuos
infectados e
individuos
recuperados de
la enfermedad.
Ing. Francisco A. Lizarralde
SUCEPTIBLE
INFECTADO
RECUPERADO
MODELO SIR
dS
=−⋅I⋅S
dt
dI
=⋅I⋅S−v⋅I
dt
dR
=v⋅I
dt
Facultad de Ingeniería - UNMDP - 2015
3
Sistemas de EDOs de 1er. orden
Infinidad de problemas de diversas áreas del
conocimiento como la física, la química, la biología,
la economía, la ingeniería, etc. se expresan a
menudo en términos de ecuaciones diferenciales
ordinarias.
Estas ecuaciones pueden estar relacionadas entre
sí, por lo que conforman sistemas de ecuaciones
diferenciales.
Las ecuaciones diferenciales de orden n, pueden
transformarse en sistemas de ecuaciones de primer
orden, para su resolución.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
4
EDOs de orden n
Una EDO de orden n puede transformarse en un sistema de n
ecuaciones de primer orden.
n
2
n−1
d y
dy d y
d
y
=f  x , y , , 2, , n−1 
n
dx dx
dx
dx
y∣x=x = y 0
dy
= y '0
dx x= x
0
∣
0
∣
d 2 y
= y ' '0
2
dx
x= x

d n−1 y
n−1
=
y
n−1
dx n−1 x=x
0
∣
Ing. Francisco A. Lizarralde
CONDICIONES
INICIALES
0
Facultad de Ingeniería - UNMDP - 2015
5
Algoritmo de transformación
Las EDOs de orden n se transforman en sistemas de n ecuaciones
de primer orden para poder resolverlas con los métodos ya vistos.
dn y
dy d 2 y
d n−1 y
=f  x , y , , 2, , n−1 =f  x , y , p , q , , w 
n
dx dx
dx
dx
dy
= y '= p
dx
2
d y
= y ' '= p '= q
2
dx

d n−1 y
=z '= w
n−1
dx
Ing. Francisco A. Lizarralde
Sustituimos cada
derivada por una
nueva variable.
Facultad de Ingeniería - UNMDP - 2015
6
Ejemplo (I)
Ecuación diferencial de orden 3
y ' ' 'x⋅y ' '−x⋅y '−2⋅y=x
x 0=0 ; y x = y ' ' x =0 ; y ' x =1
0
0
0
Sistema de 3 ecuaciones diferenciales de 1er. orden
y '= p
p '= q
q '= x− x⋅q x⋅p2⋅y
Ing. Francisco A. Lizarralde
Sustituimos cada
derivada por una
nueva variable.
Facultad de Ingeniería - UNMDP - 2015
7
Ejemplo (II)
La fuerza de atracción gravitatoria que experimenta un cuerpo que se
mueve en el espacio rodeado por otros cuerpos, puede describirse
por medio de la siguiente ecuación diferencial de segundo orden.
2
n
∂ qi
−G⋅mi⋅m j⋅(q i−q j )
m i⋅ 2 =∑
3
∂t
ri, j
i=1
i≠ j
Siendo :
r i , j=∥q i −q j∥
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
8
Ejemplo de aplicación
Por lo tanto, para calcular la trayectoria de un meteorito que se
desplaza en la proximidad de un planeta, podemos utilizar la siguiente
expresión, que considera despreciables a las fuerzas inducidas por
otros cuerpos más lejanos ó con masas mucho más pequeñas.
2
∂ q i −G⋅m1⋅m2⋅(q 1−q 2 )
m2⋅ 2 =
3
∂t
r 1,2
Este modelo es particularmente interesante, ya que en el caso de 3 ó
más cuerpos, interactuando gravitatoriamente entre sí, no es posible
calcular, en forma analítica, la solución a este problema.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
9
Trayectoria del Meteorito
Para complicar un poco más el problema, la posición del planeta no
permanece fija, sino que tiene un leve desplazamiento circular.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
10
Ejemplo (III)
Sistema Masa – Resorte - Amortiguador
Sistema de 2 ecuaciones diferenciales de orden 2
M 1⋅y ' ' 1 +B 1⋅y ' 1 +k 1⋅y 1−B 1⋅y ' 2−k 2⋅y 2=F 1 (t )
−B 1⋅y ' 1−k 1⋅y 1 + M 2⋅y ' ' 2 +B 1⋅y ' 2 +(k 1 +k 2 )⋅y 2=0
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
11
Transformación del Ejemplo (II)
Sistema de 2 ecuaciones diferenciales de orden 2
M 1⋅y ' ' 1B 1⋅y ' 1k 1⋅y 1−B1⋅y ' 2−k 2⋅y 2=F 1 t 
−B 1⋅y ' 1−k 1⋅y 1M 2⋅y ' ' 2B 1⋅y ' 2k 1k 2 ⋅y 2=0
Sistema de 4 ecuaciones diferenciales de 1er. orden
y 1 '= v 1
F1  t − B1⋅v 1  B1⋅v 2 − k1⋅y 1  k 2⋅y 2
v 1 '=
M1
y 2 '= v 2
B1⋅v 1  k 1⋅y 1− B1⋅v 2 − k1  k 2 ⋅y 2
v 2 '=
M2
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
12
Implementación con vectores
La utilización de vectores simplifica notablemente la
implementación de los métodos para resolver sistemas
de ecuaciones diferenciales.
v=
vp =
t
y1
v1
y2
v2
v(0)
v(1)
v(2)
v(3)
v(4)
1
y'1
v'1
y'2
v'2
vp(0)
vp(1)
vp(2)
vp(3)
vp(4)
Ing. Francisco A. Lizarralde
Vector de variables
Vector de derivadas
Facultad de Ingeniería - UNMDP - 2015
13
Implementación con vectores (II)
y 1 '= v 1
F1  t − B1⋅v 1  B1⋅v 2 − k 1⋅y 1  k 2⋅y 2
v 1 '=
M1
y 2 '= v 2
B1⋅v 1  k 1⋅y 1− B1⋅v 2 − k 1  k 2 ⋅y 2
v 2 '=
M2
v=
vp =
t
y1
v1
y2
v2
v(0)
v(1)
v(2)
v(3)
v(4)
1
y'1
v'1
y'2
v'2
vp(0)
vp(1)
vp(2)
vp(3)
vp(4)
Ing. Francisco A. Lizarralde
Vector de variables
Vector de derivadas
Facultad de Ingeniería - UNMDP - 2015
14
Implementación con vectores (III)
vp(1)= v (2)
F1 ( v ( 0))− B1⋅v ( 2)+ B1⋅v ( 4)− k 1⋅v ( 1)+ k 2⋅v ( 3)
vp(2)=
M1
vp(3)= v (4)
B1⋅v ( 2)+ k 1⋅v (1)− B1⋅v ( 4)−( k 1 + k 2 )⋅v ( 3)
vp(4)=
M2
v=
vp =
t
y1
v1
y2
v2
v(0)
v(1)
v(2)
v(3)
v(4)
1
y'1
v'1
y'2
v'2
vp(0)
vp(1)
vp(2)
vp(3)
vp(4)
Ing. Francisco A. Lizarralde
Vector de variables
Vector de derivadas
Facultad de Ingeniería - UNMDP - 2015
15
Solución Euler Simple (h=0.1)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
19
Solución Euler Modificado (h=0.1)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
21
Solución Runge-Kutta 4to. Orden (h=0.1)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
23
Runge-Kutta-Fehlberg
Ing. Francisco A. Lizarralde
(h=0.1)
Facultad de Ingeniería - UNMDP - 2015
25
Estabilidad en Runge Kutta (4to.Orden)
Para analizar la estabilidad del método de Runge-Kutta de
4to. orden, consideremos por ejemplo, la siguiente ecuación
diferencial:
y '=⋅y
[1]
Donde α < 0
Cuya solución analítica es:
Siendo el valor exacto de yn+1:
y t = y 0⋅e
⋅t 
y n1= y n⋅e
⋅h
[2]
Por lo tanto el valor de | yn+1| decrece a medida que aumenta n.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
26
Estabilidad en Runge Kutta (4to.Orden)
La solución numérica de la ecuación diferencial y '=∗ y , obtenida
por medio del método de Runge-Kutta de 4to. Orden se puede expresar
como:
k 1=∗h∗y n
k1
∗h
k 2 =∗h∗ y n  =∗h∗1
∗y n
2
2
k2
∗h
∗h
k 3 =∗h∗ y n   =∗h∗1
∗1
∗y n
2
2
2
∗h
∗h
∗h
k 4 =∗h∗ y n k 3  =∗h∗1
∗1
∗1
∗y n
2
2
2
1
2 1
3 1
y n1=[1∗h ∗∗h  ∗∗h  ∗∗h4 ]∗y n
2
6
24
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
[3]
27
Estabilidad en Runge Kutta (4to.Orden)
La ecuación [3], expresada en la página anterior es igual a los
primeros términos del desarrollo de Taylor para el lado derecho
de la ecuación [2].
Así podemos considerar que el factor:
1
2 1
3 1
4
=[1∗h ∗∗h  ∗∗h  ∗∗h ]
2
6
24
[4]
∗h
e
aproxima a
de la ecuación [2], por lo que en esta
aproximación se originan tanto el error de truncamiento, como
la inestabilidad de la ecuación [3].
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
28
Runge Kutta
Ing. Francisco A. Lizarralde
(h=0.05)
Facultad de Ingeniería - UNMDP - 2015
29
Runge-Kutta (h=0.1)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
30
Runge-Kutta (h=0.15)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
31
Runge-Kutta (h=0.2)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
32
Runge-Kutta (h=0.2)
Ing. Francisco A. Lizarralde
Intervalo [0, 1]
Facultad de Ingeniería - UNMDP - 2015
33
Analicemos otro ejemplo
Sistema Masa – Resorte - Amortiguador
Sistema de 2 ecuaciones diferenciales de orden 2
M 1⋅y ' ' 1 +B 1⋅y ' 1 +k 1⋅y 1−B 1⋅y ' 2−k 2⋅y 2=F 1 (t )
−B 1⋅y ' 1−k 1⋅y 1 + M 2⋅y ' ' 2 +B 1⋅y ' 2 +(k 1 +k 2 )⋅y 2=0
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
34
Estabilidad en Runge-Kutta
La solución obtenida con h=0.14 es bastante satisfactoria.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
35
Estabilidad en Runge-Kutta
En la solución obtenida con h=0.16 se observa un principio de
inestabilidad en los valores de la velocidad de la Masa 2.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
36
Estabilidad en Runge-Kutta
En la solución obtenida con h=0.18 la inestabilidad en los valores
de la velocidad de la Masa 2, se hace más evidente.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
37
Estabilidad en Runge-Kutta
En la solución obtenida con h=0.19 la inestabilidad en los valores de
la velocidad de la Masa 2, se hace más evidente.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
38
Estabilidad en Runge-Kutta
En la solución obtenida con h=0.195 la inestabilidad en los valores de
la velocidad de la Masa 2, está presente en todo el intervalo.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
39
Estabilidad en Runge-Kutta
En la solución obtenida con h=0.197 la inestabilidad hace que los
valores de la velocidad de la Masa 2 crezcan incontrolablemente.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
40
Estrategias de ajuste del paso h
La exactitud de los métodos numéricos de
resolución de ecuaciones diferenciales
depende fuertemente del paso h elegido.
Existen diferentes estrategias para ajustar
automáticamente el paso h y de esta forma
mantener el error de la solución por debajo de
una cierta tolerancia establecida.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
41
Estimación del Error
En aquellos métodos que no tienen una fórmula específica para la
estimación del error, es posible estimarlo por medio de la diferencia
del valor calculados con un paso de avance h y del obtenido al
avanzar dos pasos h/2.
Valor calculado en
un solo paso h.
yn+1
y*n+1
ERROR
ESTIMADO
Valor calculado en
dos pasos h/2.
yn
h/2
xn
Ing. Francisco A. Lizarralde
h/2
h
x1
Facultad de Ingeniería - UNMDP - 2015
42
Estrategia de ajuste 1
Se calcula el valor yn+1 utilizando un paso de avance h.
Se calcula el valor y*n+1 utilizando dos pasos de avance
h/2.
Si el valor absoluto de la diferencia entre ambos
valores es mayor a la tolerancia establecida, entonces
se establece h/2 como nuevo valor de h y se vuelve al
paso 1.
Si el valor absoluto de la diferencia entre ambos
valores es menor a la mitad de la tolerancia
establecida, entonces se establece 2*h como nuevo
valor de h y se vuelve al paso 1.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
43
Diagrama de Flujo de la estrategia 1
CALCULAR YN+1
CON UN PASO h
CALCULAR Y*N+1
CON DOS PASOS h/2
HACER h=h/2
SI
|YN+1 – Y*N+1| > tol
HACER h=2*h
NO
|YN+1 – Y*N+1| < (tol / 2)
SI
NO
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
44
Variación del error con la Estrategia 1
El paso se reduce de ser necesario, pero nunca se aumenta.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
46
Variación del paso h con la Estrategia 1
El paso se reduce de ser necesario, pero nunca se aumenta.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
47
Variación del error con la Estrategia 1
El paso se reduce o se aumenta para lograr la cota de error deseada.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
48
Variación del paso h con la Estrategia 1
El paso se reduce o se aumenta para lograr la cota de error deseada.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
49
Estrategia de ajuste 2
A partir de una estimación del error obtenida por medio
de un método como por ejemplo Runge-Kutta-Fehlberg,
podemos ajustar el valor de h, en cada paso.
tol problema
hnuevo =h actual⋅
 RKF
∣

∣
El valor de α se ajusta en base a la relación entre el valor
estimado del error y la tolerancia establecida.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
50
Diagrama de la estrategia 2
SI
tol >= errorRKF
NO
HACER α=0.2
HACER α=0.22

tol
h=h∗∣
∣
error RKF
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
51
Variación del error con la Estrategia 2
El paso se ajusta de acuerdo al valor de error calculado.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
52
Variación del paso h con la Estrategia 2
El paso se ajusta de acuerdo al valor de error calculado.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
53
Comparación de ambas estrategias
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
54
Resumen de la Estrategia de ajuste 1
Ventajas
No se necesita de un método que calcule
explícitamente el error en cada paso.
Los valores de h obtenidos
múltiplos del h original.
son siempre
Desventajas
La implementación es un poco más complicada
que la de la estrategia (II).
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
55
Estrategia de ajuste 2
Ventajas
Su implementación es muy sencilla.
Desventajas
El valor de h que se obtiene generalmente no es
un múltiplo del h original.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
56
PREGUNTAS ...
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
57
Descargar