Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aspectos numricos de la
simulacin de sistemas
Objetivos
Entender el concepto bsico de la simulacin digital de sistemas continuos
Conocer los conceptos de algoritmo de integracin, paso de integracin e
intervalo de comunicacin
Distinguir un algoritmo de integracin explcito de uno implcito
Distinguir un algoritmo de integracin de paso fijo de uno de paso variable
Reconocer un sistema stiff y su problemtica en tiempo de simulacin
Saber como se resuelve en tiempo de simulacin una ecuacin algebraica
y un sistema de DAEs implcitas
Reconocer un lazo algebraico y como tratarlo
Saber como se modelan los eventos y como se tratan en un programa de
simulacin continua.
Realizar el diagrama de flujo (pseudocdigo) de un algoritmo que resuelva
un modelo dinmico continuo.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
Mtodos explcitos
Mtodos implcitos
Mtodos de prediccin-correccin
Errores
Mejoras en la estimacin:extrapolacin
Mtodos de paso variable
Estabilidad
Sistemas stiff
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
x = f ( x, y, t )
y = g( x, t )
f ( x , x , y , t ) = 0
g( x , y , t ) = 0
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
d 2 x(t )
dx (t )
= F (t ) k x(t ) a
dt 2
dt
ODEs
DAE
2
d x (t )
dx (t )
F (t ) + k x(t ) + a
=0
2
dt
dt
dv(t ) 1
=
( F (t ) k x(t ) a v(t ))
m
dt
dx(t )
= v(t )
dt
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
Concepto de paso
de integracin?
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
dv(t ) 1
=
( F (t ) k x(t ) a v(t ))
m
dt
dx(t )
= v(t )
dt
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
y& (t ) = f ( y (t ), u (t ))
De modo que si se quiere conocer el valor de y(t+t) debe recurrir a la
siguiente ecuacin:
t + t
y (t + t ) = y (t ) +
f ( y( ), u( ))d
t
Se supone que u(t) es conocida, pero y(t) no es conocida en (t, t+t), por
tanto f(y(t),u(t)) tampoco es conocida en ese intervalo.
Para resolver la ecuacin anterior se necesita hacer alguna hiptesis sobre su
valor o encontrar algn procedimiento de estimacin. A cada una de estas
aproximaciones corresponder una frmula o algoritmo de integracin.
f(y(t),u(t))?
t-2h
t-h
t+h
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
t
7
Mtodos explcitos
Mtodos implcitos
Mtodos de prediccin-correccin
Errores
Mejoras en la estimacin: extrapolacin
Mtodos de paso variable
Problemas numricos:
Estabilidad
Sistemas stiff
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
Mtodos explcitos
Una forma intuitiva de hacer las estimaciones de f(y(t),u(t)) es buscar un
polinomio de orden n que pase por los puntos conocidos f(y(t),u(t)), f(y(t-h),u(th)), ... , f(y(t-nh),u(t-nh)) y extrapolar el valor de f(y(),u()), siendo t<<t+h.
f(y(t),u(t))?
t-2h
t-h
t+h
f(y(t),u(t))
t+h
y (t + h) = y (t ) +
f ( y( ), u( ))d
t
t-2h t-h
t+h
Ya disponemos de una frmula iterativa que poder aplicar desde t=0, pero se
necesita el valor de y(t=0).
Se necesita como dato el valor inicial de todas las variables de estado
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
10
dx(t )
= v(t )
dt
dv(t ) 1
=
( F (t ) k x(t ) a v(t ))
m
dt
11
INICIO
Leer m, k, a, v0, x0
Leer h, tmax
i=1; t(i)=0.; F(i)=f(t(i))
x(i)=x0; v(i)=v(0)
derx= v(i); derv= 1/m(F(i)-kx(i)-av(i))
t(i+1)=t(i)+h
t(i)>tmax
NO
x(i+1)=x(i)+hderx
v(i+1)=v(i)+hderv
SI
FIN
F(i+1)=f(t(i+1))
i=i+1
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
12
f ( y (t ), u (t )) f ( y (t h), u (t h))
( t )
h
f(y(t),u(t))
t+h
y (t + h) = y (t ) +
f ( y( ), u( ))d
t
h
y(t + h) = y(t) + (3 f ( y(t),u(t)) f ( y(t h),u(t h)))
2
t-2h t-h
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
t+h
13
h
v(t + h) = v(t ) + (3 f 2 ( x(t ), v(t ), F (t )) f 2 ( x(t h), v(t h), F (t h)) )
2
h
v(t + h) = v(t ) + 3 1 ( F (t ) k x(t ) a v(t )) 1 ( F (t h) k x(t h) a v(t h))
m
m
2
[(
)(
)]
14
(+1) 2
(+1) (+ n1) n
f(y(t),u(t))
f(y(t),u(t))+ +
2!
n!
( t)
h
f(y(t),u(t))= f(y(t),u(t)) f(y(t h),u(t h))
Siendo: =
2 f(y(t),u(t))= ( f(y(t),u(t)))= f(y(t),u(t)) f(y(t h),u(t h)) (f(y(t h),u(t h)) f(y(t 2 h),u(t 2 h))) =
= f(y(t),u(t)) 2 f(y(t h),u(t h))+ f(y(t 2 h),u(t 2 h))
Se selecciona el orden de la
extrapolacin y se sustituye en:
t +h
y (t + h) = y (t ) + f ( y ( ), u ( ) )d
t
h 55 f ( y (t ), u (t )) 59 f ( y (t h), u (t h)) +
15
y (t ) + h f ( y (t ), u (t )) +
h2
du (t )
f y f ( y (t ), u (t )) + f u
+
dt
2!
y (t + h) = y (t ) + h f ( y (t ), u (t ))
En general el problema es que deben estimarse unas derivadas parciales: fy y fu
Solucin mtodos de Runge-Kutta
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
16
y (t + h) = y (t ) + h(w1 f ( y (t ), u (t ) ) + w2 f ( y ( ), u ( ) ))
= t + h
De modo que tenga la misma precisin que el desarrollo en serie truncado en
el trmino de segundo orden
h 2 f ( y (t ), u (t ))
f ( y (t ), u (t )) du (t )
y (t + h) = y (t ) + h f ( y (t ), u (t )) +
f ( y (t ), u (t )) +
2!
dt
y
u
y (t + h) = y (t ) + h f ( y (t ), u (t )) +
h2
2!
du (t )
f y f ( y (t ), u (t )) + f u dt
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
17
y (t ) = f ( y (t ), u (t )) y ( ) = f ( y ( ), u ( ))
Derivando y() respecto a :
dy ( ) d
dt d
d
=
( y (t ) + h f ( y (t ), u (t ))) =
( y (t ) + h f ( y (t ), u (t ))) = ( y (t ) + h f ( y (t ), u (t )))
d
d
d dt
dt
d
d
f ( y ( ), u ( )) = ( y (t ) + h f ( y (t ), u (t ))) = y(t ) + h ( f ( y (t ), u (t )))
dt
dt
f ( y , u )
f ( y, u ) du (t )
f ( y ( ), u ( )) = f ( y (t ), u (t )) + h
f ( y (t ), u (t )) +
u
y
dt
du (t )
y (t + h) = y (t ) + h( w1 + w2 ) f ( y (t ), u (t )) + w2 h 2 f y f ( y (t ), u (t )) + f u
dt
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
18
h2
du (t )
f y f ( y (t ), u (t )) + f u
dt
2!
du (t )
y (t + h) = y (t ) + h( w1 + w2 ) f ( y (t ), u (t )) + w2 h 2 f y f ( y (t ), u (t )) + f u
dt
Igualando coeficientes:
w1 + w2 = 1
w2 = 1 2
19
dx(t )
= v(t )
dt
dv(t ) 1
=
( F (t ) k x(t ) a v(t ))
m
dt
))
20
10
21
Mtodos implcitos
Otra forma de usar las tcnicas de extrapolacin
para la estimacin de f(y()) es incluir el punto
f(y(t+h)) entre los puntos por los que debe
pasar el polinomio de extrapolacin.
As, por ejemplo cuando elegimos el polinomio
de orden 0 que pase por f(y(t+h)) tendremos
que f(y())=f(y(t+h))=cte
t +h
Sustituyendo en:
y (t + h) = y (t ) +
f ( y ( )) d
f(y(t),u(t))
t-2h t-h
t+h
Se obtiene que: y ( t + h ) = y ( t ) + h f ( y ( t + h ), u ( t + h ))
Este mtodo recibe el nombre de Euler implcito.
La diferencia esencial con el mtodo de Euler es que debemos resolver una
ecuacin generalmente no lineal para encontrar y(t+h).
A pesar de la evidente complejidad en el clculo de la solucin que los
mtodos implcitos presentan frente a los explcitos suelen ser preferibles en
cuanto a la estabilidad de la solucin numrica.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
22
11
dx(t )
= v(t )
dt
dv(t ) 1
( F (t ) k x(t ) a v(t ))
=
m
dt
23
24
12
f(y(t),u(t))
Sustituyendo en:
y (t + h) = y (t ) +
Se obtiene que: y (t + h) = y (t ) +
f ( y( ), u)d
t-2h t-h
t+h
h t
( f ( y (t ), u (t )) + f ( y (t + h), u (t + h)))
2
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
25
Sustituyendo en:
y (t + h) = y (t ) +
f ( y( ), u( ))d
t
y (t + h) = h f ( y (t + h), u (t + h)) +
26
13
x1 = h f ( x0 , u ) + a
Iteramos utilizando la ecuacin: xi +1 = h f ( xi , u ) + a
Hasta que la diferencia entre dos estimas consecutivas
sea menor que una determinada tolerancia epsilon ():
xi +1 xi
f
<1
x
INICIO
27
La fuerza es una
funcin del tiempo
conocida, F=f(t)
Leer m, k, a, v0, x0
, N max iteraciones
NO
t(i)>tmax
SI
NO
FIN
SI
t(i+1)=t(i)+h
SI
NO
x(i+1)=xn+1(i+1)
h=h/2; n=0
v(i+1)=vn+1(i+1)
i=i+1
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
28
14
F ( x) = F ( xi ) +
F
1 2F
( x xi ) +
( x xi ) 2 + ... = 0
2
x xi
2! x
xi
F ( xi +1 ) = F ( xi ) +
F
xi +1 = xi
x
F
( xi +1 xi ) = 0
x xi
F ( xi )
xi
xi +1 xi
29
F
Como: xi +1 = xi
x
Entonces:
F ( x) = x h f ( x, u ) a
F
f ( x, u )
= 1 h
x
x
F ( xi )
xi
f ( x, u )
xi +1 = xi 1 h
x xi
(xi h f ( xi , u ) a)
F(x)
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
30
15
1
1
y (t ) = (t y 2 (t ) ) 2
t t
La solucin exacta es:
y (t ) =
1
1
y (t + h) = y (t ) + h (t + h) y 2 (t + h)
t + h (t + h) 2
1
t
1
1
y (t + h) y (t ) h (t + h) y 2 (t + h)
t + h (t + h) 2
F
f ( y (t + h), u )
= 1 h
= 1 h2(t + h) y (t + h)
y (t + h)
y (t + h)
=0
F ( xi )
xi
yi (t + h) y (t ) h (t + h) yi2 (t + h) 1 1
t + h (t + h )2
yi +1 (t + h) = yi (t + h)
1 h2(t + h) yi (t + h)
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
31
Pero no siempre es as
Adems en ocasiones no se dispone de herramientas que manipulen
simblicamente las ecuaciones. Entonces se recurre a una estimacin numrica del
Jacobiano.
Una tcnica adecuada es usar una aproximacin en diferencias
Sea:
F ( x) = x h f ( x, u ) a
Podemos aproximar el Jacobiano por la siguiente expresin:
F F ( x + ) F ( x )
f (x + ) f (x )
= 1 h
2
2
x
Donde es pequeo y positivo.
Qu sucede si tengo que integrar numricamente varias ecuaciones de
forma simultnea?, por ejemplo el sistema mecnico seleccionado.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
32
16
x x
iterativa resulta ser:
x
i
Donde
x1
f1 ( x1 , x2 ,..., xn )
x1 h f1 ( x1 , x2 ,..., xn ) a1
x
f ( x , x ,..., x )
x h f ( x , x ,..., x ) a
2
1
2
n
2
2
2
1
2
n
r 2
r r
; F =
x = . ; f =
.
.
.
.
.
xn
f n ( x1 , x2 ,..., xn )
xn h f n ( x1 , x2 ,..., xn ) an
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
33
f1
f 2
r
r
xi +1 = xi I h x1
...
x1
f1
x2
f 2
x2
...
f n
x2
...
...
...
...
F1
x2
F2
x2
...
Fn
x2
F1
xn
F2
...
xn
... ...
Fn
...
xn xr
...
r
F1 ( xi )
...
r
Fn ( xi )
f1
xn
f 2
xn
...
f n
xn xr
(xr h f ( xr , ur) ar )
r
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
34
17
dx(t )
= v(t )
dt
dv(t ) 1
( F (t ) k x(t ) a v(t ))
=
m
dt
r x (t + h) r
F (t + h) k x(t + h) av (t + h)
x=
; f = F (t + h) k x(t + h) av (t + h) ; F =
v (t + h) v(t ) h
v (t + h)
m
m
f1
x
1
f 2
x1
f1
x2 0k
=
f 2
m
x2
F1
1 x
a 1
F2
m
x1
F1
0
x2
= I h k
F2
m
x2
h
1 1
a
a= k
+
h
h
1
m
m m
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
35
f1
f 2
r
r
xi +1 = xi I h x1
...
x1
f1
x2
f 2
x2
...
f n
x2
h
x(t + h)i +1 x(t + h)i 1
v (t + h) = v(t + h) h k 1 + h a
m
i +1
i
...
...
...
...
f1
xn
f 2
xn
...
f n
xn xr
(xr h fr ( xr , ur) ar )
i
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
36
18
Como:
F1 F1 ( x1 + , x2 ) F1 ( x1 , x2 )
x2
2
F2 F2 ( x1 + , x2 ) F2 ( x1 , x2 )
x2
2
F1 ( x1 , x2 + ) F1 ( x1 , x2 )
2
F2 ( x1 , x2 + ) F2 ( x1 , x2 )
En el caso
del muelle:
F1
f1 ( x1 + , x2 ) f1 ( x1 , x2 )
x2
2
I h
F2
f ( x + , x2 ) f 2 ( x1 , x2 )
2 1
x2
2
f1 ( x1 , x2 + ) f1 ( x1 , x2 )
2
f 2 ( x1 , x2 + ) f 2 ( x1 , x2 )
2
F2 ( x (t + h), v(t + h) + ) F2 ( x(t + h), v (t + h) )
F2 ( x (t + h), v(t + h) ) = v (t + h) v (t ) h
Luego, aplicaremos la
siguiente ecuacin recursiva
para calcular x(t+h) y v(t+h):
v 1
r
r F r r
xi +1 = xi r F ( xi )
x xri
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
37
Mtodos de prediccin-correccin
Combinacin de frmulas explcitas e implcitas para
mejorar la extrapolacin y evitar los problemas numricos
de los mtodos implcitos
Ejemplo: Mtodo predictor-corrector de Euler
Prediccin:
Correccin:
y p (t + h) = y (t ) + h f ( y (t ), u (t ))
y (t + h) = y (t ) + h f ( y p (t + h), u (t + h))
38
19
Errores
Hay diversos tipos de errores a considerar en la
integracin de las ecuaciones:
Errores de precisin de las frmulas (truncamiento):
Paso de integracin h
Orden del polinomio de aproximacin
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
39
Errores
Error de truncamiento depende del orden del algoritmo
de integracin y del tamao del paso de integracin
Para uno de orden n el error es:
d n y (t )
h
dt n
n
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
40
20
Errores
Error de redondeo
Est ligado a la precisin de la representacin de los nmeros en el
ordenador
Depende de:
Redondeo por palabras de longitud finita
Acumulacin de operaciones
Tipo de mquina
Tipo de compilador
Tipos de datos: precisin sencilla, doble, etc.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
41
Errores
Error de acumulacin
En t=0 el error de acumulacin es cero, la solucin numrica coincide con la exacta.
En t>0 el error de truncamiento y redondeo se transmite de una estimacin a la
siguiente.
Resultado el error prctico de truncado sea del orden de hn-1 y no de hn.
Un nmero de pasos de integracin grande contribuye a aumentar el efecto de este
error
y(t) exacta
y(0)
t
0
2h
3h
4h
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
42
21
y1 = y e + c h n
h
y2 = ye + c( )n
2
ye =
y 2 2 n y1
2 n 1
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
43
Solucin de compromiso:
Escoger el h lo mayor posible sin que la solucin supere una cota de error.
Problema:
Escoger el valor de h.
No se obtienen soluciones en
instantes de tiempo regularmente
espaciados, si se necesitan
debemos interpolar.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
44
22
h1 = n
45
y (t ) = f ( y (t ))
y (t + h) = y (t ) + hf ( y (t )) +
h 2 f ( y (t ))
f ( y (t )) +
y
2!
h 2 f ( y (t + h))
f ( y (t + h)) +
2!
y
46
23
Estabilidad
El error entre la solucin numrica y la analtica debe tender a cero a
medida que la integracin progresa.
La estabilidad de la solucin en un problema depende del mtodo y del
paso de integracin h
Sin estabilidad las soluciones divergen de la verdadera o son oscilantes
Solucin
oscilante
Solucin exacta
t
Solucin inestable
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
47
Estabilidad: Ejemplo
dy
= y
dt
y(0) = 1; > 0.
y (t + h) = y (t ) hy (t ) = (1 h) y (t )
y( t + h )
= 1 h < 1
y( t )
Sea siempre positiva (negativa, si c.i es menor que cero): 0< h<1
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
48
24
y( t )
1+ h
y( t + h )
1
=
<1
y( t )
1+ h
Mtodo de Crank-Nicholson:
y( t + h ) = y( t ) +
h
( y( t + h ) y( t ))
2
y( t + h )
=
y( t )
h
2 <1
h
1+
2
1
Sea siempre positiva (negativa, si c.i es menor que cero): 0< h/2<1
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
49
drt
r
r
dy
= Ay + Bu
dt
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
50
25
r
r
dy
dy
r r
r
r
= f ( y, u )
= Ay + Bu
dt
dt
stiff si
max Re( i )
> 100
min Re( i )
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
51
matricial
y&1 1000 0 y1 10
+
y = 1
1 y2 0
&2
0
r
y(0) =
1
y1 (0) = 0; y 2 (0) = 1
Autovalores -1000, -1
Usando el mtodo de Euler explcito:
Para evitar la inestabilidad debe elegirse un paso de integracin h tal que
h<2/1000=0.002, ya que 1000 es el mayor autovalor.
As, si quisiramos integrar el sistema propuesto entre 0 y 5 segundos deberamos
realizar un mnimo de 51000/2=2500 iteraciones.
Esto representa un tiempo de clculo muy grande y la posibilidad de que los errores
de redondeo acumulados sean muy grandes.
Ventajas de usar un mtodo implcito, que no tiene esos condicionantes sobre el
paso de integracin son evidentes.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
52
26
0.01 1000 t
e
+ 0.9899e t
999
y 2 ( t ) = 0.01 + 0.99e t
Numricamente se puede solucionar con el mtodo de Euler explcito pero
ahora el lmite de estabilidad dado por el paso de integracin est en
h=2>>0.002.
Simulacin y Optimizacin
53
4 Ingeniera Informtica. Tema 2 Simulacin
2
y(0) =
1
dy 2
499.5
= 0. y 2 =
y1
dt
500.5
y 1 ( t ) = 1.5e 1.998 t + 0.5
y 2 ( t ) = 1.497e 1.998 t 0.497
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
54
27
Mtodo de Gear
55
Y& = F (Y , Z )
0 = G (Y , Z )
Tambin como ecuaciones implcitas (DAEs implcitos) donde
no es posible despejar las derivadas
F (Y , Y& , t ) = 0
Veamos como se resuelven ...
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
56
28
DAE
Y& = F (Y , Z )
0 = G (Y , Z )
Forma matricial
Nominalmente R=0.
Y& F (Y , Z )
=
R G (Y , Z )
G y Y = G z Z
Linealizando
Entonces
Y& Fy
=
R Gy
Fz Y
G z Z
Y& = ( Fy Fz G z1G y )Y
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
57
DAE implcito
Y& F (Y , Z ) = 0
0 = G (Y , Z )
Caso particular de
H (Y& , Y , t ) = 0
dy y
dt
t
Y Y
H n +1 n , Yn +1 , t n +1 = 0; Siendo : hn +1 = t n +1 t n
hn +1
Debiendo resolver la ecuacin implcita, por ejemplo, por el
mtodo de Newton-Raphson:
Resultando:
58
29
Problema:
Alguna ecuacin algebraica puede ser demasiado compleja, y no ser posible
despejar en ella la variable que se debe calcular.
Ejemplo: z=5(sin(t)-ez)
59
Lazos algebraicos
Si el modelo presenta una ecuacin del tipo:
z=5(sin(t)-ez)
Esta ecuacin debe usarse para calcular z (porque t es el tiempo).
Cmo despejo z?
Lo nico que se puede hacer es utilizar un resolvedor de ecuaciones
implcitas para calcular z.
Resolvedores como los usados en los mtodos implcitos
Aproximaciones sucesivas
zi +1 = 5sin(t ) e zi
Newton-Raphson
F
zi +1 = zi
z
1
zi 5 sin(t ) e zi
F ( zi ) = zi
zi
1
+
5
e
zi
i
))
...
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
60
30
Lazos algebraicos
Si el modelo presenta un lazo algebraico lineal:
pi=2
po=1
w=4(pi-p)
w=3(p-po)
pi=2
po=1
p=(4pi+ 3po)/(4+ 3)
w=3(p-po)
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
61
Lazos algebraicos
pi=2
po=1
w=4sqrt(pi-p)
w=3sqrt(p-po)
pi=2
po=1
p=(42pi+ 32po)/(42+ 32)
w=4sqrt(p-po)
pi=2
po=1
w=implicit(w-4sqrt(pi-p))
p= po + (w/3)2
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
62
31
Ejemplos:
El rebote de una pelota con el suelo a escala macroscpica se modela de modo que
vd=-cva, siendo vd y va,las velocidades despus y antes del choque y c el coeficiente
de restitucin. A escala microscpica se tienen en cuenta las deformaciones del
suelo y de la bola y la constante del muelle de la bola, la velocidad no es
discontinua.
Un controlador digital y un convertidor de digital a analgico. A escala
macroscpica la salida del controlador cambia en instantes de tiempo determinados.
A escala microscpica el voltaje nunca puede cambiar de forma discontinua porque
en el circuito elctrico siempre hay capacidades distintas de cero
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
63
Eventos y Discontinuidades
Aparecen de forma natural en muchos procesos (aunque
microscpicamente no sean discontinuos):
y
Saturaciones
Histresis
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
64
32
Eventos y Discontinuidades
Aparicin de fenmenos fsicos nuevos bajo nuevas
condiciones de operacin,...
dv g
=
d t 0
dy
=v
dt
v = kv
si y > 0
si y 0
cuando y = 0
Choque /rebotes
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
65
Eventos y Discontinuidades
Calentamiento y Ebullicin a presin constante
2
dT I R/( mce ) si T < Te
=
dt 0
si T Te
dm 0
=
dt - I 2 R/
si T < Te
si T Te
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
66
33
Eventos y Discontinuidades
Los eventos implican una discontinuidad en f(y,u) o en su derivada
La aparicin del evento hace que f(y,u) pase en ese instante de tiempo de ser
f1(y,u) a ser f2(y,u)
En estos casos la aplicacin directa de los mtodos de integracin mencionados
es incorrecta
f(y,u)
t +h
y (t + h) = y (t ) +
f ( y( ), u )d
t
dy
= f1 ( y, u )
dt
tiempo < t + d
dy
= f 2 ( y, u )
dt
tiempo t + d
Estimacin de f(y,u)
f1(y,u)
t-2h
f2(y,u)
t-h
t+d
t+h
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
67
Discontinuidades
La integracin correcta exige:
Localizar el instante de discontinuidad
Reinicializar la integracin con las nuevas ecuaciones y
condiciones iniciales a partir de ese punto
f(y,u)
Estimacin de f(y,u)
f1(y,u)
f2(y,u)
t +d
y (t + d ) = y (t ) + f1 ( y ( ), u ( ))d
t
t +h
y (t + h) = y (t + d ) + f 2 ( y ( ), u ( ))d
t +d
t-2h
t-h
t+d
t+h
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
68
34
Tipos de eventos
Eventos en el tiempo, ocurren en un instante determinado
de tiempo.
Peridicos (ej: periodo de muestreo de un controlador).
Aperidicos, aquellos que suceden un tiempo despus de que haya
sucedido otro evento.
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
69
Eventos en el tiempo
Eventos en el tiempo aperidicos, ocurren en un instante
determinado de tiempo.
Ejemplo: un paracadas se abre a los 3 segundos del salto.
si t < 3
dv g
=
dt - g + F(v) si t 3
70
35
Eventos en el estado
Se produce el cambio dependiendo del valor una funcin de una variable,
normalmente al cruzar un umbral.
El instante de la discontinuidad no es conocido de antemano y debe
determinarse
dv(t ) g
=
dt
0
dy (t )
= v(t )
dt
v(t ) = k v(t )
si y (t ) > 0
si y (t ) 0
cuando y(t) = 0
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
71
Los eventos en el tiempo son fciles de tratar porque se conoce a priori cuando
van a suceder, se ajusta el tamao del paso de integracin al instante en el que va a
suceder el evento.
Un posible algoritmo para la deteccin de los eventos en el estado es el siguiente:
Al finalizar cada paso de integracin se comprueba si ha sucedido el evento.
Si el evento ha sucedido, para determinar el instante en el que sucedi, se toma el valor
de la variable asociada al evento en el intervalo de integracin previo y el actual, y se
interpola para conocer el instante del cambio.
Se aplica de nuevo el algoritmo tomando como paso de integracin la diferencia entre
el instante anterior y el instante en el que se produce el evento.
(x(t))
dx
dt = f1 ( x, u ) si ( x) > 0
dx
= f 2 ( x, u ) si ( x) 0
dt
t+h
(x(t+h))
t+d
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
72
36
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
73
Ejemplo Chattering
Modelo simplificado del bote de la pelota
dv(t )
= g
dt
dy (t )
= v(t )
dt
v(t ) = k v(t )
cuando y(t) = 0
74
37
Ejemplo Chattering
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
75
Ejemplo Chattering
Solucin, modificar el modelo
Aadir que v(t)=0., si y(t)<0.
dv(t ) g
=
dt
0
dy (t )
= v(t )
dt
v(t ) = k v(t )
si y (t ) 0
si y (t ) < 0
cuando y(t) = 0
La simulacin
se ralentiza
La pelota ya no se cae
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
76
38
Ejemplo Chattering
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
77
Ejemplo Chattering
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
78
39
Ejemplo Chattering
cuando y(t) = 0
Cuando la pelota est parada, ya no se integra y(t) y adems v(t) queda constante,
con lo cual no se ralentiza la simulacin
Simulacin y Optimizacin
4 Ingeniera Informtica. Tema 2 Simulacin
79
40