Вы находитесь на странице: 1из 47

Analisis de sistemas no lineales

Soluciones numericas
Sistemas Dinamicos
Captulo 1 - Representaci on de Sistemas
Semana 3
Ing. Gerardo Becerra B, M.Sc.
Ponticia Universidad Javeriana
Febrero 10, 2014
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Agenda
1
Analisis de sistemas no lineales
Sistemas no Lineales
Linealizaci on
2
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Agenda
1
Analisis de sistemas no lineales
Sistemas no Lineales
Linealizaci on
2
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Sistemas no Lineales
Las ecuaciones de estado generales para un sistema dinamico se
pueden escribir como:
dx(t)
dt
= f (t, x(t), u(t)), x(t
0
) = x
0
y(t) = h(t, x(t), u(t))
Donde las funciones f y h pueden ser lineales o no.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Sistemas no Lineales
Con frecuencia los modelos de sistemas fsicos resultan ser no
lineales.
Puede ser difcil analizar sistemas no lineales directamente.
Los metodos para analizar sistemas lineales estan bien
desarrollados.
Los metodos de dise no de controladores para sistemas no
lineales a un no estan totalmente desarrollados y con
frecuencia son difciles de utilizar.
Una gran variedad de metodos y herramientas de software
para dise no de controladores y analisis estan basados en el uso
de modelos lineales.
Se desea obtener un modelo lineal cuya respuesta sea muy
similar a la del modelo no lineal: Linealizaci on
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
x
f(x)
x
0
Caracterstica no lineal de un elemento
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
x
f(x)
x
0 x
f( x)
Punto de operacion
Punto de operacion
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
x
f(x)
x
0 x
f( x)
Punto de operacion
Aproximacion lineal
Linealizaci on alrededor del punto de operacion
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Podemos escribir x como la suma de un termino constante (valor
en el punto de operacion) y un termino variable:
x = x
..
valor nominal
+ x
..
variable incremental
La funci on f tambien puede escribirse de la misma manera:
f =

f +

f
La aproximacion lineal es:

f = k x
donde la pendiente k corresponde a la derivada de f evaluada en el
punto x:
k =
df
dx

x
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
x
f(x)
x
0 x
f( x)
Punto de operacion
x

f
f(x)

f = k x
Marco de referencia de variables incrementales
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Puntos de operaci on
Puntos en el espacio de estados en los cuales permanece un
sistema si la entrada se mantiene constante.
Dado un vector de entrada u(t) = u, t, Que valor (o valores)
toma el estado?
Solucion en estado estable de:
dx(t)
dt
= f (t, x(t), u)
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Puntos de operaci on
Se considera que los puntos de operacion del sistema cumplen
condiciones de equilibrio: las derivadas son cero:
0 = f (t, x(t), u), t
Dado que f es no lineal, puede tener de cero a innitas
soluciones.
Las ecuaciones diferenciales se reducen a ecuaciones
algebraicas.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Expansion en serie de Taylor de funci on de una variable,
continuamente derivable:
f[x(t)] = f( x) +
df
dx

x
[x(t) x] +
1
2!
d
2
f
dx
2

x
[x(t) x]
2
+ . . .
Aproximacion lineal: tomar los dos primeros terminos:
f[x(t)] f( x) +
df
dx

x
[x(t) x]
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Como x es constante
f[x(t)] = f( x) + k x
La pendiente
k =
df
dx

x
La variable incremental
x(t) = x(t) x
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
El error de la aproximacion corresponde a:
e =
f(x) [f( x) + k x]
f(x)
La magnitud del error depende del tipo de funci on
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Funci on de varias variables
g = f[x
1
(t), x
2
(t), . . . , x
n
(t)]
El punto de operacion
x = [ x
1
, x
2
, . . . , x
n
]
T
La expansi on de Taylor
g =f[x
1
(t), x
2
(t), . . . , x
n
(t)]
=f[ x
1
, x
2
, . . . , x
n
] +
f
x
1

x
[x
1
(t) x
1
]
+
f
x
2

x
[x
2
(t) x
2
] + . . .
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Tomando los terminos de primer orden:
y = f( x) + [f( x)]
T
[x x]
con
[f( x)]
T
=
_
f
x
1

x
f
x
2

x
. . .
f
x
n

x
_
La linealizacion de f alrededor del punto de operacion es
equivalente a colocar un plano tangente en la supercie en el
punto de operacion.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Sea el sistema en variables de estado
dx(t)
dt
= f [x(t), u(t)]
Para encontrar el punto de operacion se asume el estado estable:
d x
dt
= 0 = f [ x, u]
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Restando las dos ecuaciones:
dx(t) x
dt
= f [x(t), u(t)] f [ x, u]
Linealizando f :
dx(t) x
dt
=
f
x

[ x, u]
(x(t) x) +
f
u

[ x, u]
(u(t) u)
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Las variables incrementales son:
x(t) = x(t) x u(t) = u(t) u
La ecuacion linealizada queda:
d x(t)
dt
=
f
x

[ x, u]
x(t) +
f
u

[ x, u]
u(t)
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
En resumen, para
dx
dt
= f ( x + x, u + u) el modelo linealizado
alrededor de un punto de equilibrio es:

x
f
x

x, u
x +
f
u

x, u
u
f
x

x, u
=
_

_
df
1
dx
1
. . .
df
1
dx
n
df
2
dx
1
. . .
df
2
dx
n
.
.
.
.
.
.
.
.
.
df
n
dx
1
. . .
df
n
dx
n
_

x, u
f
u

x, u
=
_

_
df
1
du
1
. . .
df
1
du
p
df
2
du
1
. . .
df
2
du
p
.
.
.
.
.
.
.
.
.
df
n
du
1
. . .
df
n
du
p
_

x, u
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Comparando con un sistema lineal:
d x
dt
=
d
dt
(x x) = A x +B u
A =
f
x

x, u
B =
f
u

x, u
Ecuacion de salida?
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Linealizacion
Dada la ecuacion de salida:
y
1
= h
1
[x
1
(t), . . . , x
n
(t), u
1
(t), . . . , u
p
(t)]
.
.
.
y
q
= h
q
[x
1
(t), . . . , x
n
(t), u
1
(t), . . . , u
p
(t)]
La ecuacion linealizada es y = C x +D u, donde:
C =
h
x

x, u
=
_

_
dh
1
dx
1
. . .
dh
1
dx
n
dh
2
dx
1
. . .
dh
2
dx
n
.
.
.
.
.
.
.
.
.
dh
q
dx
1
. . .
dh
q
dx
n
_

x, u
D =
h
u

x, u
=
_

_
dh
1
du
1
. . .
dh
1
du
p
dh
2
du
1
. . .
dh
2
du
p
.
.
.
.
.
.
.
.
.
dh
q
du
1
. . .
dh
q
du
p
_

x
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Ejemplo
Linealizar las ecuaciones de estado y de salida alrededor del punto
de equilibrio para el siguiente sistema:
x
1
= x
3
+ u
3
1
3u
2
1
x
1
+ 2u
1
x
2
1
x
3
1
+ u
2
x
2
= x
3
x
3
= x
1
x
2
x
3
2
y = x
1
x
2
x
3
2
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Sistemas no Lineales
Linealizaci on
Ejemplo
%Ejemplo - Linealizacion y jacobiano
syms x1 x2 x3 u1 u2
F1 = -x3 + (u1)^3 - 3*((u1)^2)*(x1)+ 3*(u1)*(x1)^2
-(x1)^3 + u2
F2 = x3
F3 = x1-x2-x3-2
Y = x1-x2-x3-2
X = [x1 x2 x3]
U = [u1 u2]
jacobian([F1;F2;F3],X)
jacobian([F1;F2;F3],U)
jacobian(Y,X)
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Agenda
1
Analisis de sistemas no lineales
Sistemas no Lineales
Linealizaci on
2
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Soluciones numericas
Las ecuaciones de estado obtenidas son de la forma general:
dx(t)
dt
= f (t, x(t), u(t)), x(t
0
) = x
0
Donde f puede ser lineal, no lineal, invariante con el tiempo,
variante con el tiempo. Existen tecnicas de solucion numerica
para obtener la trayectoria del vector de estado sin obtener la
expresi on analtica de la solucion
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Solucion numerica de ODEs
Las soluciones se basan en metodos de integracion numerica:
Metodo tangencial (Euler)
Metodo trapezoidal (Predicci on - Correcci on)
Metodo de Runge
Metodo de Runge-Kutta
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Metodo tangencial
Aproximacion de primer orden
Expansion en serie de Taylor
dx
dt

t=t
k

x(t
k+1
) x(t
k
)
h
x(t
1
) = x(t
0
) + hf(t
0
, x(t
0
), u(t
0
))
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Algoritmo
Seleccionar el paso de integracion h.
Dividir intervalo de integracion [t
0
, t
f
] en n =
t
f
t
0
h
subintervalos iguales.
Dados x
0
y u(t), iterar:
x(t
k+1
) = x(t
k
) + hf(t
k
, x(t
k
), u(t
k
))
Tiene problemas de estabilidad si h es muy grande.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ejemplo
Resolver numericamente el sistema x(t) = u(t) 0.2x(t),
x(0) = 1, para u(t) igual a entrada paso.
tf = 20;
h = 1;
u = 1;
t = 0:h:tf;
n = length(t);
x(1) = 1;
for k = 1:n-1
x(k+1) = x(k) + h*(u-0.2*x(k));
end
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ejemplo
Resolver numericamente el sistema x(t) = u(t) 0.2x(t),
x(0) = 1, para u(t) igual a entrada paso.
0 5 10 15 20
1
1.5
2
2.5
3
3.5
4
4.5
5
Solucin exacta vs tangencial
Tiempo (s)
x
(
t
)


Exacta
Tangencial
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Aproximacion Trapezoidal
El area bajo la curva se aproxima como el area del trapecio
determinado por f(t
k
) y f(t
k+1
).
_
t
k+1
t
k
f(t) dt
(t
k+1
t
k
)
f(t
k
) + f(t
k+1
)
2
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Metodo de Prediccion - Correcci on
El problema es que no se puede evaluar f(t
k+1
) exactamente. Para
llegar a una ecuacion iterativa se tiene:
Prediccion: Se hace una predicci on del valor en t
k+1
empleando Euler:
m
k
= f(t
k
, x(t
k
), u(t
k
))
x
k+1
= x(t
k
) + h m
k
Predicci on
donde h = t
k+1
t
k
.
Correcci on: Con base en el punto predicho, se aplica la
aproximacion trapezoidal
m
k+1
= f(t
k+1
, x
k+1
, u(t
k+1
))
x(t
k+1
) = x(t
k
) + h
(m
k
+ m
k+1
)
2
Correcci on
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Metodo de Prediccion - Correcci on
La solucion empleando predicci on - correcci on coincide con la
expansi on en serie de Taylor hasta el termino de segundo orden.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ejemplo
Resolver numericamente el sistema x(t) = u(t) 0.2x(t),
x(0) = 1, para u(t) igual a entrada paso.
h = 1;
u = 1;
t = 0:h:tf;
n = length(t);
x(1) = 1;
for k = 1:n-1
% Prediccion
mk = u - 0.2*x(k);
xpred(k+1) = x(k) + h * mk;
%Correcci on
mk1 = u - 0.2*xpred(k+1);
x(k+1) = x(k) + h*(mk+mk1)/2;
end
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ejemplo
Resolver numericamente el sistema x(t) = u(t) 0.2x(t),
x(0) = 1, para u(t) igual a entrada paso.
0 5 10 15 20
1
1.5
2
2.5
3
3.5
4
4.5
5
Solucin exacta vs trapezoidal
Tiempo (s)
x
(
t
)


Exacta
Trapezoidal
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Regla de integracion de Simpson
_
t
0
+h
t
0
f(t) dt
h
6
(x
0
+ 4x
1
+ x
2
)
donde
x
0
= f(t
0
), x
1
= f
_
t
0
+
h
2
_
, x
2
= f(t
0
+ h)
Aproximacion parabolica, parametrizada por tres puntos.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Regla de integracion de Simpson
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Metodo de Runge
La solucion empleando el metodo de Runge coincide con la
expansi on en serie de Taylor hasta el termino de tercer orden.
x(t
1
) = x(t
0
) +
h
6
(m
0
+ 4m
1
+ m
3
)
m
0
= f(t
0
, x
0
)
m
1
= f(t
0
+
h
2
, x
0
+
h
2
m
0
)
m
2
= f(t
0
+ h, x
0
+ h m
0
)
m
3
= f(t
0
+ h, x
0
+ h m
2
)
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Metodo de Runge - Kutta
Es posible aproximar el area bajo la curva mediante una funci on
c ubica.
x(t
1
) = x(t
0
) +
h
6
(m
0
+ 2m
1
+ 2m
2
+ m
3
)
m
0
= f(t
0
, x
0
)
m
1
= f(t
0
+
h
2
, x
0
+
h
2
m
0
)
m
2
= f(t
0
+
h
2
, x
0
+
h
2
m
1
)
m
3
= f(t
0
+ h, x
0
+ h m
2
)
Coincide con la expansi on de Taylor hasta el termino de cuarto
orden.
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Uso de Matlab
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Uso de Matlab
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Ejemplo
Simular el modelo de clima de Lorenz para = 10, = 40,
= 8/3 y condiciones iniciales x
0
= [1, 0, 0]
T
.
x = (y x)
y = x( z) y
z = xy z
mediante los siguientes metodos:
Euler
Runge - Kutta
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Simulacion de Sistemas Lineales
Entrada cero
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Simulacion de Sistemas Lineales
Con entrada
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos
Analisis de sistemas no lineales
Soluciones numericas
Metodo tangencial
Metodo trapezoidal
Metodo de Runge
Metodo de Runge - Kutta
Uso de Matlab
Simulacion de Sistemas Lineales
Entrada paso
Ing. Gerardo Becerra B, M.Sc. Sistemas Dinamicos

Вам также может понравиться