View
239
Download
0
Embed Size (px)
Citation preview
/64
Simulacion de sistemas dinamicos
Principios básicos de la integración numérica
1
/64
Contenido
Solucion numerica a ecuaciones diferenciales
La exactitud de la aproximación
Los metodos de Euler
2
/64
SOLUCION NUMERICA A ECUACIONES DIFERENCIALES
3
/64
Los modelos en espacio de estado
4
Los modelos de sistemas dinámicos con parámetros concentrados pueden ser representados usando un conjunto de ecuaciones diferenciales ordinarias (ODEs)
donde x es el vector de estado, u es el vector de entrada, y t denota el tiempo, la variable independiente a través de la cual se desea estimular
Llamado modelo en espacio de estado
/64
La trayectoria del estado
La investigación del comportamiento de un sistema dinamico de tiempo continuo requiere una solución de ecuaciones diferenciales
Sin embargo, la solucion analitica puede ser dificil o, en algunos casos, imposible
Esta situacion plantea la necesidad de los metodos numericos
5
/64
Un modelo simple
6
v0
Coeficiente viscoso = cm0(0)x x
F = m*a vcdt
dvm ( , )
dxax f x t
dt
Los metodos numericos aprovechan el conocimiento de la pendiente para estimar la trayectoria del estado
f(x,t) es la pendiente de x(t) en cada punto (t,x)
t
x
(t,x) ( , )dx
f x tdt
/64
El problema estandar
Se considera entonces resolver la ecuacion diferencial (ODE) , con condicion inicial:
7
),( xtf
dttdx 00 xtx
Objetivo: Hallar la solucion x(t) en un intervalo
Solucion numerica: implementar un algoritmo computacional algebraico
/64
Solución numérica
8
El modelo puede ser simulado usando una expansión en series de Taylor
Si se conoce el vector de estado en un instante de tiempo t*, el vector del estado puede calcularse en el instante de tiempo t*+ h,
Los diferentes métodos de integración numérica difieren en la forma de aproximar las derivadas de mayor orden de f
funcion conocida(derivada del estado)
/64
Pasos de los metodos numericos
Primero: discretizar el tiempo
Segundo: representar x(t) usando solo los valores discretos del tiempo, ti
9
nt T1t 2t 1nt 0
t t t
Step size = h
En general, el tamaño de paso puede ser variable
ix
/64
Pasos de los metodos numericos
Tercero: estimar el siguiente valor del estado aproximando la derivada, usando los valores discretos
Cuarto: iterar el proceso hasta el tiempo final
10
1i i ix x h
Calculada a partir de f(x,t), y la aproximación de sus derivadas de mayor orden
/64
El proceso de la integracion
Stat
e vs
. Tim
e
1) Original Data3) Initial Condition 2) Choose Time Step4) Evaluate Derivative5) Next State = Initial Condition + Derivative * Time StepError
11
Trayectoria del estado exacta
/64
Efecto del paso de integracionSt
ate
vs. T
ime
Stat
e vs
. Tim
e
Nine Time StepsFour Time Steps
12
Efecto del tamaño del paso de integración en la trayectoria estimada
/64
LA EXACTITUD DE LA APROXIMACIÓN
13
/64
LA EXACTITUD DE LA APROXIMACIÓN
14
•Error por truncado de la serie de Taylor
/64
La serie de Taylor
15
'' (3) ( )' 2 3
1 2! 3! !
ni i i n
i i i
f x f x f xf x f x f x h h h h
n
/64
El error por truncado de la serie
16
La expansión de Taylor de orden n es exacta para un
polinomio de orden n
En otro caso:
'' (3) ( )' 2 3
1 2! 3! !
ni i i n
i i i
f x f x f xf x f x f x h h h h
n
Más términos de la serie implica error menor
Menor valor de h, implica menor error para un número dado de términos
/64
El error por truncado de la serie
17
Es imposible considerar todos los términos en la serie de Taylor
Todos los métodos de integración numérica sólo aproximan un cierto número de términos de la serie. Este número puede ser fijo o variable
Ejemplo: un algoritmo de orden tres
El error por truncado del método crece proporcionalmente con la cuarta potencia del tamaño del
paso de integración h
/64
Características del orden de integración
Método de integración de orden alto
» Mayor precisión
» Mayor costo computacional
» Tamaño del paso grande
Método de integración de bajo orden
» Menor precisión
» Menor costo computacional
» Tamaño del paso pequeño
18
Cual selección es la más económica en una situación dada depende de varios factores
/64
Selección del orden del algoritmo de integración
19
Regla práctica
Si el mayor error tolerado en un paso de integración es 10- n, entonces la mejor selección es al menos un algoritmo de orden n para la integración numérica
Precisión relativa local = 0.0001
Orden del algoritmo = 4
/64
LA EXACTITUD DE LA APROXIMACIÓN
20
•Error por redondeo y error por chopping
/64
Redondeo y chopping
21
Sólo puede ser representado un numero finito de cantidades, y dentro de un rango limitado
Redondeo y chopping:Importantes en el comportamiento numerico de los algoritmos
/64
Representación en punto fijo
22
Scientific 22 21 20 . 2-1 2-2 2-3
Fractions . ½ ¼ ⅛Decimal 4 2 1 . .5 .25 .125
1 0 1 . 1 0 1
Representación en punto fijo de un número binario real
/64
Valor de un número binario real
23
Scientific 22 21 20 . 2-1 2-2 2-3
Fractions . ½ ¼ ⅛Decimal 4 2 1 . .5 .25 .125
1 0 1 . 1 0 1101.101 = 4 + 1 + 1/2 + 1/8
= 4 + 1 + .5 +.125 = 5.625
= 5 ⅝
Valor del número binario en base 10
/64
Notación exponencial
24
El punto decimal “flota”, de acuerdo con la selección del valor del exponente
123,400.0 x 10-2
12,340.0 x 10-1
1,234.0 x 100
123.4 x 101
12.34 x 102
1.234 x 103
0.1234 x 104
Las siguientes son representaciones equivalentes de 1.234
/64
Partes de un número de punto flotante
25
-0.9876 x 10-3
Signo de lamantisa
Localizacion delpunto decimal Mantisa
Exponente
Signo delexponente
Base
Representacion normalizada
/64
Formato de Simple Precisión
26
32 bits
Mantisa (23 bits)
Exponente (8 bits)
Signo de la mantisa (1 bit)
/64
Normalización de la mantisa
27
La mantisa está normalizada, es decir el número a la izquierda del punto decimal es SIEMPRE “1“
El número “1“ no se escribe en la mantisa
Ejemplo
101 0000 0000 0000 0000 0000
1.1012 = 1.62510
Mantisa
Representación
1<= mantisa < 2
La separacion cada cuatro ceros para mayor claridad
“uno” fantasma
/64
Normalización de la mantisa
28
La mantisa está normalizada, es decir el número a la izquierda del punto decimal es SIEMPRE “1“
El número “1“ no se escribe en la mantisa. Se asume. En cierto modo la mantisa tiene 24 bits
El menor valor
000 0000 0000 0000 0000 0001
1 + 2-23 ≈ 1 + 10-7
Mantisa
Representación en base 10
1<= mantisa < 2
Aproximadamente seis digitos significativos
/64
El exponente
29
Los siguientes ocho bits especifican el exponente, en la forma de exceso-n
Para simple precisión el exceso es 127
El valor del exponente es más grande en n que el exponente real
Ejemplo
1000 0111
135 - 127 = 8 (valor real)
Exponente
Representación
- 127<= exponente <= 128
/64
Ejemplo de un número en simple precisión
30
0 1000 0010 110 0000 0000 0000 0000 0000
1.112 = 1.7510
130 – 127 = 3
0 = mantisa positiva
+ 1.75 23 = 14.0
/64
El valor mas pequeño en simple precisión
31
0 0000 0000 000 0000 0000 0000 0000 0000
1.002 = 1.0010
000 – 127 = – 127
0 = mantisa positiva
+ 1.00 2 – 127 ≈ 10 – 38
/64
El valor más grande en simple precisión
32
0 1111 1111 111 1111 1111 1111 1111 1111
1.002 = 1.0010
255 – 127 = + 128
0/1 = mantisa pos/neg
± 2.00 2 + 128 = ± NaN ≈ ± 10 + 38
/64
Rango de los numeros
33
El rango de los numeros esta definido como:
0 0000 0001 000 0000 0000 0000 0000 0000 +2-126× (1+0) = 2-126
0 1111 1110 11 1 1111 1111 1111 1111 1111 +2127× (2-2-23)
smallest
largest
0 2-126 2127(2-2-23)
Positive underflow Positive overflow
/64
Implicación de la representación en punto flotante
34
Afectan la exactitud de la representación de un número real en un computador
Redondeo y chopping:Importantes en el comportamiento numerico de los algoritmos
/64
El error por redondeo
35
z : un número real que se quiere representar en un computador
fl(z) : la representación de z en el computador
Sea
1( ) 12
2nz fl z
z
Un número real en simple precisión tiene aproximadamente de seis decimales significativos
22 72 10roundoff
1( )2 nz fl z
z
Error por chopping Error por redondeo
Simple precisión n = 23:
/64
Simple precisión
Épsilon de la máquina
36
El épsilon de la máquina, eps, es el número más pequeño tal que
1 1eps
épsilon de la máquina
23 7 2 1.19 10=
epsilon = 1;while (1 + epsilon > 1) epsilon = epsilon / 2; epsilon = epsilon * 2;end
/64
El error por redondeo en la integración numérica
37
Asumamos que se emplea un algoritmo de orden tres
Asumamos: h = 0.001
/64
Efecto del error por redondeo
38
El error por redondeo es importante en la integración numérica porque números pequeños son sumados a números muy grandes
El término de segundo orden no contribuye en forma significativa
seis digitos
/64
Efecto del error por redondeo
39
En consecuencia, el uso de simple precisión en una máquina de 32 bits para algoritmos de integración de orden mayor que dos puede ser un problema
En realidad el efecto no es tan pronunciado ya que los algoritmos de orden alto permiten tamaños del paso
mayores
No es una buena razón usar simple precisión en un algoritmo de integración,
excepto en Euler
/64
Formato de Doble Precisión
40
64 bits
Mantisa (52 bits)
Exponente (11 bits)
Signo de la mantisa (1 bit)
Doble Precisión
/64
El estándar IEEE 754
41
Precision Single (32 bit)
Double (64 bit)
Sign 1 bit 1 bit
Exponent 8 bits 11 bits
Notation Excess-127 Excess-1023
Range 2-126 to 2127 2-1022 to 21023
Mantissa 23 52
Decimal digits 7 15
Value range 10-38 to 1038 10-300 to 10300
/64
Codificación del formato IEEE 754
42
Single Precision Double Precision Represented Object
Exponent Fraction Exponent Fraction
0 0 0 0 0
0 non-zero 0 non-zero+/- denormalized number
1~254 anything 1~2046 anything+/- floating-point numbers
255 0 2047 0 +/- infinity
255 non-zero 2047 non-zeroNaN (Not a Number)
/64
El error por redondeo en doble precisión
43
Una representación en doble precisión en una máquina de 32 bits proporciona aproximadamente 14 dígitos significativos
Desafortunadamente, las operaciones son más costosas computacionamente
catorce digitos
/64
LA EXACTITUD DE LA APROXIMACIÓN
44
•Error combinado total
/64
Error numérico total
45
Asumiendo una expansión de Taylor de primer orden, el error numérico total es la suma de los error de truncado y de redondeo
E = | Error Total | + ''1
2f 2 if x
h
1i ix x
/64
Otros errores
46
Otro tipo de error a tener en cuenta en la etapa de simulación es el error por acumulación, que se considerara a continuación
Los errores examinados en esta sección no consideran los errores propios del modelado:
Errores en el modelo conceptual
Errores paramédicos
/64
El error por acumulación
47
Debido al redondeo y truncado x(t* + h) no puede ser conocido con exactitud
Este error será heredado en el siguiente paso de integración como un error en la condición inicial
Stat
e vs
. Tim
e
Four Time Steps
El error se acumula cuando la integración numérica se ejecuta
/64
El error por acumulación
48
Si el sistema es estable, el error en las condiciones iniciales decae a cero con el tiempo
Indica que el error en las condiciones iniciales en un paso de integración no afecta demasiado a la
simulación total
No se puede asumir que el error de integración global es proporcional al error de integración por paso
Para sistemas analíticamente inestables la situación es diferente
/64
Error local vs. Error global
49
Asumiendo un paso de integración constante h
Para n pasos en una simulación
El error relativo global es entonces
0( ) /fh t t n
0 1* *fp p pt tn O h O h O h
h
“error relativo local”
Error relativo local = 0.0001 Error relativo global = 0.001
/64
Verificación de la simulación
50
Asumiendo que el modelo conceptual refleja la realidad suficientemente,
se debe verificar que la simulación numérica replica las trayectorias analíticas dentro de ciertas tolerancias
Este proceso es denominado verificación de la simulación
En conclusion:
/64
LOS METODOS DE EULER
51
Euler, Léonard1707-1783
/64
El metodo de Euler explicito
52
1 ( )k k kx x h f x
t
xx
dt
dx kk
tk
1
it 1it
f(x(t))
Todos los valores de la derecha
conocidos
/64
El metodo de Euler explicito
53
Estimación del próximo valor del estado en el método de Euler explícito
/64
El metodo de Euler explicito
54
Algoritmo
La simulación no requiere ninguna integración dentro de un paso de integración
/64
Ejemplo
Use el metodo de Euler para resolver
En este caso, el metodo de Euler explicito da:
55
1 ydt
dy0)0( y
)1(1 nnn ytyy
/64
Ejemplo
56
n tn yn fn= - yn+1 yn+1= yn+Dt fn
0 0 0.000 1.000 0.100
1 0.1 0.100 0.900 0.190
2 0.2 0.190 0.810 0.271
3 0.3 0.271 0.729 0.344
4 0.4 0.344 0.656 0.410
5 0.5 0.410 0.590 0.469
6 0.6 0.469 0.531 0.522
7 0.7 0.522 0.478 0.570
8 0.8 0.570 0.430 0.613
9 0.9 0.613 0.387 0.651
)1(1 nnn ytyy
/64
Ejemplo
57
0
0.2
0.4
0.6
0.8
0
0.25 0.5
0.75
1
1.25
t
Exact
Numerical
y
1 ydt
dy
0)0( y
tey 1
Solucion analitica
/64
Ejercicio
58
Usando el metodo de Euler resolver
Para 0 < x < 10, con x(0) = 0;
a) Dt = 2 b) Dt = 1
c) Dt = 0.5 d) Dt = 0.1
tedt
dx
/64
Ejercicio
59
Solucion exacta x(t) = 1- e-t Solucion aproximada usando Euler explícito
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
Dt = 2
Dt = 1
Dt = 0.5 Dt = 0.1
x(t)
t
/64
El metodo de Euler implicito
60
1 1( )k k kx x h f x
it 1it
f(x(t))
La ecuacion es implicita in xk+1 .
/64
El metodo de Euler explicito
61
Estimación del próximo valor del estado en el método de Euler implícito
/64
Lazo algebraico
62
1
Gain2
h.f(x(k+1))
Gain1
1
Gainkx 1kx
En el método de Euler de implícito es necesario resolver la presencia de un lazo algebraico
Este tipo de algoritmos son referidos como técnicas de integración implícita
Ejemplo: PSpice
/64
Fuentes
Cellier, F.E. and E. Kofman (2006), Continuous System Simulation, Springer-Verlag, New York
63
/64
FIN
64