64 Simulacion de sistemas dinamicos Principios básicos de la integración numérica 1.

Post on 24-Jan-2016

228 views 0 download

Transcript of 64 Simulacion de sistemas dinamicos Principios básicos de la integración numérica 1.

/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