Subido por VITOI Mechatronics & Design

ACTIVIDAD 5 SISTEMAS LINEALES

Anuncio
Actividad 5: Realimentación de estado mediante
observadores de estado.
Israel Viveros Torres
Maestria en Ingeniera Mecatrónica
Universidad de Guadalajara
Veracruz, Mexico; ivt_imec@hotmail.com
Resumen— En el presente documento se implementan las tecnicas
de resolución para el diseño de un controlador por realimentación de
estados, mediante la aplicacion de observadores, en esta ocasión, se
efectúan los algoritmos específicos para estas tecnicas en la ejecución
práctica de 2 ejercicios, los cuales se han abordado con antelación;
para este análisis se evidencia las condiciones suficientes para la
ejecución del método, que en nuestro caso de estudio es la
observabilidad del modelo, de la cual depende la aplicacion exitosa
del algoritmo de solución; de igual forma se analiza y ejecuta el
incremento en el orden del modelo matemático de forma tal que se
aplique un integrador adicional como supresor del error, mismo que
se había presentado en anteriores análisis para los controladores; así
estas dos tecnicas utilizadas de forma paralela nos permiten
establecer modelos de respuesta controlada con base a un parámetro
deseado permitiendo una convolucion más rápida del proceso
estudiado, en ambos casos tanto para determinar el vector de
observador como el de control con supresión de error hemos
empleado la formulación de Ackermann de forma analítica y a su
vez utilizando
comandos y códigos de MatLab para una
implementación eficiente y optimizada de las tecnicas antes
mencionadas.
Palabras clave—Ackermann, función
autovalores, observabilidad, integrador.
de
transferencia,
INTRODUCCION
En trabajos anteriores hemos podido evidenciar que en
control en la respuesta de una planta modelada, es necesario la
aplicación de controladores, y que para hacer una asignacion
completa de los autovalores de lazo cerrado, es necesario
realimentar todos los estados del sistema. La realimentación de los
estados requiere poder medirlos pero normalmente no tenemos
acceso directo a todos los estados. Sin embargo, es común que
algunos estados no sean accesibles. Una alternativa para estos
casos es obtener una estimación de los estados no medibles a
través de un observador de estados ya que si el sistema es
observable los estados podrán ser estimados mediante un
observador [2].
Un observador de estados es un sistema dinámico cuyos estados
convergen a los del sistema observado. Dependiendo del número
de estados observados, el observador es de orden completo o
reducido. Luego puede implementarse un control con asignacion
©2021 IEEE
de autovalores de lazo cerrado por realimentación de los estados
observados Fig. 1.
Figura 1. Diagrama de bloques para realimentación de estados
observados.
De esta forma lo que se busca es determinar vectores de ganancia
y observador apropiados para ejecutar el control con la respuesta
deseada, así eligiendo apropiadamente la matriz de ganancia L, se
puede ajustar el observador para que los estados estimados
converjan asintóticamente a los estados verdaderos; como ya se
mencionó si el sistema es observable, se puede elegir la ganancia
L para ubicar los autovalores de (A-LC) arbitrariamente, lo
anterior se muestra en la figura 2 [1], que son los métodos que se
aplicaran a continuación:
Figura 2. Diseño de un sistema de realimentación con
observadores.
I.
EJERCICIOS PROPUESTOS
𝑏1 =
(3)(2) − (1)(0)
3
1.-Sea el sistema:
S2
S1
S0
𝑥̇ = 𝑨𝒙 + 𝒃𝑢, 𝑦 = 𝒄𝒙
Donde:
𝟎
𝑨=[
−𝟐
𝟏
𝟎
] 𝑩=[ ] 𝑪=[𝟏
−𝟑
𝟐
𝟎]
1
3
2
2
0
Como observamos no se presentan cambios de signo en la
columna principal del arreglo de Routh, por lo que podemos
confirmar la estabilidad del sistema.
a) Analizar la estabilidad del sistema.
b) Analizar la controlabilidad del sistema.
Para el análisis de estabilidad iniciamos obteniendo la funcion
de transferencia aplicando el método de matriz de transición; y así
determinar la inversa de la matriz indicada [3]:
𝑠
(𝑠𝐼 − 𝐴) = [
2
𝐶0 = [𝐵
−1
]
𝑠+3
1
𝑠+3
(𝑠𝐼 − 𝐴)−1 = 2
[
𝑠 +3𝑠+2 −2
= 𝑠2 +3𝑠+2
[1
1
]
𝑠
+3 1 0
][ ]
0] [𝑠−2
𝑠 2
1
0+2
0] [0 + 25]
= 𝑠2 +3𝑠+2 [1
1
= 𝑠2 +3𝑠+2 [1
=
2
]
0] [25
1
[2]
𝑠 2 + 3𝑠 + 2
G(s) =
2
𝑠 2 +3𝑠+2
Al ya tener nuestro sistema en la forma de función de
transferencia podemos aplicar el criterio de Routh a fin de
establecer la calidad de estabilidad de esta forma procedemos,
primeramente ordenamos los coeficientes para de esta forma
obtener el coeficiente b1 correspondiente, en nuestro caso
particular para s0:
𝐷(𝑠) = 𝑎2 𝑠 2 + 𝑎1 𝑠1 + 𝑎0
𝐷(𝑠) = 𝑠 2 + 3𝑠 + 2
𝐴𝐵 ]
Con base en los datos que ya tenemos para este ejemplo
obtenemos:
Aplicando los productos matriciales para B y C
respectivamente se obtiene finalmente la función de transferencia:
1
Para este análisis procedemos a implementar la matriz de
controlabilidad que está dada por:
0
𝐵=[ ]
2
2
𝐴𝐵 = [ ]
−6
𝐶0 = [
0
2
2
]
−6
Ahora para aplicar criterio de controlabilidad necesitamos
obtener el rango de la matriz, realizando operaciones de renglón
tenemos obtenemos la forma triangular superior y al no presentar
filas nulas se obtiene un rango de 2:
𝐶0 = [
1
0
−3
]
1
𝑅𝐶 = 2 = (𝑁)𝐴
Podemos verificar
que, el rango de la matriz de
controlabilidad y la dimensión de la matriz del sistema son
equivalentes a 2; con base en esta característica podemos definir
con toda certeza que se trata de un sistema controlable.
c) Analizar la observabilidad del sistema.
Para este análisis procedemos a implementar la matriz de
observabilidad que está definida por el modelo indicado y
contando ya con las matrices componentes del modelo matemático
de solución:
𝐶
𝑂𝑏 = [ ]
𝐶𝐴
0
𝐴=[
−2
𝐶𝐴 = [0
1]
1
] 𝐶 = [1
−3
0]
por lo tanto: 𝑂𝑏 = [
0
1
1
]
0
establecido por Ackermann para el cálculo del vector de
retroalimentación, así como el polinomio característico deseado,
mismo que ya se evaluó en el apartado del ejemplo anterior por
sustitución directa:
𝑘 = [0
(𝑁)𝐴 = 2 = 𝑅𝑂
d) Diseñar un controlador por retroalimentación de estados tal que
el sistema en lazo cerrado tenga los polos en -5 y -7.
Habiendo cumplido con los requerimientos de controlabilidad
podemos establecer el diseño siguiente para una ley de control de
forma que podamos establecer las condiciones requeridas en el
ejercicio propuesto así tomamos la representación en espacio de
estado y los trasladamos a su forma canónica controlable
−3
1
𝑎𝑘 (𝑠) = det(𝑠𝐼 − 𝐴 + 𝐵𝑘)
𝑠+3
𝑎𝑘 (𝑠) = |[
−1
−2
1
] + [ ] [𝑘1
0
0
2
𝑘1
]+[
𝑠
0
𝑠 + 3 + 𝑘1
𝑎𝑘 (𝑠) = |[
−1
𝐶𝑜 = [
1
0
−3
1
] ⇒ 𝐶𝑜−1 = [
1
0
−2 2
−3
] + 12 [
0
1
−3
∅(𝐴) = [
1
7
−3
6
−36
]+[
−2
12
𝑘 = [0
−2
1
] + 35 [
0
0
−24
35
]+[
0
0
1
0
3 6
][
1 9
𝑘 = [9
33]
1] [
3
]
1
0
]
1
0
]
35
−18
]
33
e) Diseñar un observador para el sistema.
𝑢(𝑡) = −𝑘𝑥⃗(𝑡)
0
−3
]−[
𝑠
1
A partir de los datos referidos se evalúan los valores de los
términos relacionados como la inversa de la matriz de
controlabilidad, ya evaluada con antelación; así como el remplazo
de la variable “s” en el polinomio característico por la matriz A en
la forma canónica controlable, para así agrupar los términos como
los factores del vector de retroalimentación:
∅(𝐴) = [
−2
1
] 𝑥⃗ + [ ] 𝑥⃗
0
0
La expresión anterior tiene el polinomio característico
denotado por la siguiente expresión para u (t), de esta forma
procedemos aplicando la ley de control y desarrollando el
polinomio característico:
𝑠
𝑎𝑘 (𝑠) = |[
0
… 1] 𝐶𝑜−1 ∅(𝐴)
∆(𝑠) = 𝑠 2 + 12 𝑠 + 35
Se advierte que no se tiene filas nulas por lo que Ro es igual a
2, de forma análoga ya se conoce la dimensión de la matriz del
sistema de igual valor por lo que el sistema es observable.
𝑥⃗′ = [
0
𝑘2]|
𝑘2
]|
0
2 + 𝑘2
]|
𝑠
El sistema que ya se ha analizado con antelación en el punto “c”
de este documento se comprueba que es totalmente observable por
lo que es susceptible de implementarle un observador de estados
en su control con realimentación de esta forma procedemos
aplicando el modelo de Ackermann empleando en esta ocasión la
matriz de observabilidad obtenida de la forma canónica:
Los polos deseados son:
𝑃𝑑 = [−5
−7]
2
𝑎𝑘 (𝑠) = 𝑠 + (3 + 𝑘2) + (2 + 𝑘1)
Ahora se iguala con el polinomio deseado a fin de establecer
los valores del vector k:
(𝑠 + 7)(𝑠 + 5) = 𝑠 2 + (12)𝑠 + (35)
2
Se desea que la convergencia del sistema a traves del observador
se más rápida aplicamos un factor arbitrario de 3 en este ejemplo,
obteniéndose el polinomio estimado para el observador:
𝑃𝑜 = [−15
−21]
2
𝑠 + (3 + 𝑘1)𝑠 + (2 + 𝑘2) = 𝑠 + (12)𝑠 + (35)
𝑘1 = 9 𝑘2 = 33
𝑘 = [9
33]
Una vez aplicado el método de sustitución directa procedemos
a realizar el método de Ackermann, para el mismo ejercicio
propuesto. Primeramente establecemos el modelo matricial
∆(𝑠) = 𝑠 2 + 36𝑠 + 315
0
𝑂𝑏 = [
2
2
]
0
De esta forma ya es posible aplicar Ackermann utilizando las
transpuestas de la matriz A y vector C:
𝐿 = [0
0
𝑂𝑏 = [
2
−3
∅(𝐴) = [
−2
∅(𝐴) = [
7
6
… 1] 𝑂𝑏−1 ∅(𝐴𝑇 )
0
2
]
0
𝑂𝑏−1
12
−3
] + 36 [
0
−2
−3
108
]+[
−2
−72
𝐿 = [0
0
=[
0.5
0
1] [
0.5
1
1
] + 315 [
0
0
36
315
]+[
0
0
0.5 214
][
0 −66
𝐿 = ⌊107
Las raíces aumentadas parten del polinomio deseado y se estima
un tercer término con la siguiente vector:
0.5
]
0
0
]
1
0
]
315
𝑃𝑜 = [−5
−7
−10]
Es factible ahora aplicar la formulación de Ackermann para
determinar los controladores con su ganancia a fin de suprimir el
error [3], figura 4:
33
]
313
16.5⌋
Es factible comprobar los resultados a traves del comando acker
implementado en MatLab [3], figura 3:
Figura 4. Obtención del vector de ganancia con el uso de
comando “acker”.
g) Realizar la simulación del sistema en Matlab.
A continuación se procede a realizar una simulacion del
modelo, en la figura 5:
Figura 3. Calculo de vector observador usando el comando
“acker”.
f) Implementar el observador con el controlador
Ya una vez obtenido el vector de observador se debe implementar
el control realimentado, aplicando el ajuste para eliminar el error
y se dé un adecuado seguimiento al sistema en su respuesta
controlada con respecto a la salida original de sistema, para esto
aplicamos la ecuación matricial en forma aumentada a fin de
establecer los integradores requeridos esto debido a que la
ganancia para compensar e error será un término adicional en la
formulación de variables de estados:
𝑥′
𝐴
[ ]=[
𝑦
𝐶
𝑥
0
𝐵
] [∫ 𝑦] + [ ] 𝑓(𝑡)
0
0
𝑦(𝑡) = [𝐶
𝑥
0] [ ∫ 𝑦 ]
Figura 5. Simulacion del sistema controlado en comparativo
con la señal de planta y la señal de entrada.
Donde:
−3
𝐴𝑎 = [ 1
0
−2
0
2
0
1
0] 𝐵𝑎 = [0] 𝐶 = [0
0
0
2
0]
Como se observa el sistema responde con estabilidad a la señal
de perturbación en casi un tercio del tiempo original que
presentaba la planta en su consideración inicial, con lo cual se
demuestra el correcto funcionamiento para el proceso con la
dinámica solicitada para la ejecución del mismo.
(−2) + (−1) < 0
2.- Considere el sistema definido por:
Determinar las condiciones de a, b, c y d para estabilidad,
controlabilidad y observabilidad. Elegir algunos valores para a, b,
c y d en los cuales el sistema sea estable y algunos otros en los
cuales el sistema sea inestable, realizar las simulaciones
correspondientes en Matlab.
Para llevar a cabo este análisis primero debemos determinar la
función de transferencia a fin de generar el polinomio de polos del
sistema, ya que como se ha revisado anteriormente, de esta
expresión depende la estabilidad del mismo [2], por lo que se
obtiene a traves de:
𝐺(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1 𝐵
(𝑠𝐼 − 𝐴) = [𝑠 − 𝑎
−𝑐
(𝑠𝐼 − 𝐴)−1 =
=
=
1
𝑠−𝑑
[
−𝑏𝑐 − (𝑠 − 𝑑)(𝑠 − 𝑎) 𝑐
Con estos valores el polinomio tomaría la siguiente forma,
donde se observa que no presenta signo negativo, y al transferirlo
al criterio de estabilidad bajo el arreglo de Routh se confirma las
condiciones de estabilidad:
𝑠 2 − (−3)𝑠 + [(−2)(−1) − (−1)(1)]
𝑠 2 + 3𝑠 +1
S2
S1
S0
1
3
1
1
0
Aplicando la matriz de controlabilidad se genera una matriz
ya dispuesta en forma triangular superior donde se puede evaluar
en forma directa su calidad de controlable, este análisis se realiza
a traves de comandos de MatLab como se muestra a continuación
figura 6:
−𝑏
]
𝑠−𝑑
1
𝑠−𝑑
[
−𝑏𝑐 + (𝑠 − 𝑑)(𝑠 − 𝑎) 𝑐
=
[(−2)(−1)] − [(−1)(1)] > 0
𝑏
]
𝑠−𝑎
𝐶0 = [𝐵
𝐴𝐵 ]…
1
𝑏
][ ]
𝑠−𝑎 1
1
𝑠−𝑑+𝑏
[
]
−𝑏𝑐 + (𝑠 − 𝑑)(𝑠 − 𝑎) 𝑐 + 𝑠 − 𝑎
1
[1
−𝑏𝑐 + (𝑠 − 𝑑)(𝑠 − 𝑎)
𝐺(𝑠) =
0] [
𝑠−𝑑+𝑏
]
𝑐+𝑠−𝑎
(𝑠 − 𝑑 + 𝑏)
−𝑏𝑐 + (𝑠 − 𝑑)(𝑠 − 𝑎)
Ya habiendo obtenido la función tomamos el polinomio de
polos y lo reescribimos de la siguiente manera:
Figura 6. Código en MatLab para cálculo de controlabilidad.
2
𝑠 − (𝑎 + 𝑑)𝑠 + (𝑎𝑑 − 𝑏𝑐)
Por simple inspeccion se debe evitar signos negativos en cada
coeficiente asociado a la expresión por lo que podemos deducir
que si se cumple las siguientes condiciones que permiten la
estabilidad del sistema algebraicamente:
𝑎+𝑑 <0
y
𝑎𝑑 > 𝑏𝑐
Por ejemplo considerando los siguientes valores y realizando
las sustituciones de las condiciones propuestas, se obtiene lo
siguiente:
𝑎 = −2 𝑏 = 1 𝑐 = 1 𝑑 = −1
1
𝐶0 = [
0
−3
]= rango 2
1
Ahora para identificar la calidad de observabilidad del sistema
con base en las condiciones previamente definidas para estabilidad
y controlabilidad procedemos por medio del siguiente código en
MatLab [3] figura 7, a fin de que se evalué el modelo definido por:
𝑂𝑏 = [
𝐶
]….
𝐶𝐴
𝐺(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1 𝐵
Tomando las matrices de espacios de estado:
0
𝐴=[ 0
−1
1
0
−5
0
0
1 ] 𝐵 = [1]
−6
1
De donde obtenemos la siguiente función:
Figura 7. Código en MatLab para cálculo de observabilidad.
𝐺(𝑠) =
1
(2𝑅1 + 𝑅2 )𝑂𝑏 = [
0
0
]
1
De lo anterior, que se obtuvo al aplicar operaciones de
renglón, se llega a una matriz identidad de rango completo, por lo
que el sistema bajo las condiciones indicadas con antelación es
completamente observable.
Ya habiendo concluido los análisis respectivos al sistema
propuesto se ejecuta la simulacion en Simulink [3] figura 8, donde
se demuestra el comportamiento y la obtención de los bloques de
operación del modelo:
𝑠 2 − 4𝑠 + 6
𝑠 3 + 6𝑠 2 + 5𝑠 + 1
En primera instancia se aplicara el criterio de Routh a fin de
determinar en forma más específica esta propiedad del sistema; se
puede observar que no existe cambio de signo en los coeficientes
obtenidos para el arreglo de Routh para el sistema, es posible
entonces definirla como estable:
𝐷(𝑠) = 𝑠 3 + 6𝑠 2 + 5𝑠 + 1
𝑏1 =
(6)(5) − (1)(1) 29
=
6
6
29
) (1) − (6)(0)
𝑐1 = 6
=1
29
6
(
S3
S2
S1
1
6
29
6
S0
1
5
1
0
b) Determinar una ley de control tal que los tres polos del sistema
en lazo cerrado se encuentren en -0.5+2i, -0.5-2i, y -2.
Figura 8. Simulacion en Simulink del sistema evaluado.
3.- Considere el sistema definido por:
Empezamos determinando el polinomio deseado bajo los
parámetros indicados en el ejercicio, esto lo realizamos por medio
del comando “poly” de MatLab aplicado al vector que contiene
los autovalores con los parámetros especificados [3] esto se
muestra en el segmento de código siguiente figura 9:
a) Analizar la estabilidad del sistema.
Primeramente se obtiene la función de transferencia para el
modelo propuesto, donde aplicando:
Figura 9. Calculo de polinomio característico deseado.
−93
∅(A) = [19.25
−3
∆(𝑠) = 𝑠 3 + 3𝑠 2 + 6.25𝑠 + 8.5
Acto seguido aplicamos la ley de control a las matrices de la
representación en espacio de estados de nuestro sistema en forma
canónica controlable:
𝑢(𝑡) = −𝑘𝑥⃗(𝑡)
𝑠
𝑠𝐼 = [0
0
0
𝑠
0
𝑘1
𝐵𝑘 = [ 0
0
𝑠 0
𝑎𝑘 (𝑠) = |[0 𝑠
0 0
𝑘3
0]
0
−6
𝐴=[ 1
0
−5
0
1
−1
0]
0
0
−6
0] − [ 1
𝑠
0
−5
0
1
−1
𝑘1
0 ]+[0
0
0
1 6 5 −93 −93.25 −19.25
3 ]
1 6] [19.25 22.5
1.25
7.5
0 1 1 −3
−1.25
7.5]
Se corrobora los datos del vector de retroalimentación para el
modelo indicado por ambos algoritmos de solución, que es lo que
se deseaba demostrar en el presente documento.
0
0]
𝑠
𝑘2
0
0
−19.25
3 ]
7.5
𝑘 = [0 0 1] [1
𝑘 = [−3
𝑎𝑘 (𝑠) = det(𝑠𝐼 − 𝐴 + 𝐵𝑘)
−93.25
22.5
1.25
c) Diseñar un observador para el sistema.
𝑘2
0
0
𝑘3
0 ]|
0
Se procede en forma análoga al caso 1 donde ya tenemos
establecida las propiedades necesarias para el diseño del sistema
aplicando un observador y controlando el sistema con la supresión
de error, podemos aplicar entonces la formulación de Ackermann
con base en las variables de estados, que ya conocemos y tenemos
definidas en su forma canónica controlable implementamos
Matlab como se muestra en la siguiente serie de comandos, donde
al polinomio deseado se le aplica un factor de velocidad para
convergencia de 3 de igual forma que en el caso 1, obteniéndose
así el vector de observador figura 10:
𝑎𝑘 (𝑠) = 𝑠 3 + 𝑠 2 (𝑘1 + 6) + 𝑠(𝑘2 + 5) + (𝑘3 + 1)
𝑎𝑘 (𝑠) = ∆(𝑠)
𝑘 = [−3
−1.25
7.5]
De nueva cuenta estableceremos tambien el cálculo de los
valores anteriores aplicando el método de Ackermann tal como se
realizó con anterioridad para determinar los valores del vector de
retroalimentación para el sistema definido partiendo de la
expresión, establecemos los valores matriciales requeridos para la
ecuación:
𝑘 = [0
0
1
𝐶𝑂 = [1
0
… 1] 𝐶𝑜−1 ∅(𝐴)
−6
1
1
1
𝐶𝑂−1 = [1
0
31
−6]
1
6
1
1
5
6]
1
−6 −5 −1 3
−6 −5 −1 2
−6 −5 −1
∅(A) = [ 1
0
0 ] + 3[ 1
0
0 ] + 6.25 [ 1
0
0] …
0
1
0
0
1
0
0
1
0
1 0
+8.5 [0 1
0 0
0
0]
1
Figura 10. Calculo de observador a traves de Matlab.
Obteniéndose así el vector requerido para la implementación:
𝐿 = [−3.3072
3.6867
3.509]
d) Implementar el observador con el controlador.
Ahora se deberá establece el controlador con el observador; de
igual forma procedemos aplicando comandos de MatLab para la
ejecución del sistema agregando el término adicional al polinomio
deseado, a fin de supresión del error en la respuesta del sistema, lo
anterior se muestra en la serie de comandos a continuación figura
11:
Figura 11. Calculo de vector de realimentación Matlab.
Obteniéndose así el vector de retroalimentación y el vector de
supresión de error requerido para la implementación en el sistema,
los cuales se muestran respectivamente:
𝐾𝑒 (1,2,3) = [2
9.1667
67.0833]
II.
CONCLUSIONES
Con el presente reporte se han determinado las tecnicas a fin
de establecer las habilidades en el diseño de un control de mayor
robustez que los trabajos anteriores, ya en esta modalidad hemos
tenido la facultad de establecer el estado de realimentación en
forma observable para una convergencia con incremento en la
dinámica de su velocidad de respuesta, además de lograr la
supresión de error que generaba la realimentación en sus etapas
iniciales, de esta forma se establecen aptitudes y conocimientos
fundamentales para el correcto diseño y optimización de los
sistemas de control en sistemas dinámicos, ya que como se
observó a lo largo del desarrollo de los sistemas, la conexión
controlador-observador, es efectivamente un controlador
dinámico que realimenta la salida, por ende es necesario agregar
un precompensador para reducir el error en estado estacionario
ante una entrada o perturbación.
Con base en lo anterior cabe mencionar el gran valor de la
formulación de Ackermann para la eficiente resolución de estas
condiciones, así de igual forma resulta cada vez más benéfico en
forma sustancial la aplicación de la herramienta Matlab ya que
optimiza los trabajos de cálculo y simulacion de los modelos de
forma ágil y precisa.
𝐾𝑒 (4) = [7.0833]
e) Realizar la simulación del sistema en Matlab figura 8.
REFERENCIAS
[1]
[2]
[3]
Figura 8. Simulacion en Simulink del sistema controlado
haciendo comparativa de las respuestas.
Sanchez Peña R.. Introduccion a la teorıa de control robusto. Asociacion
Argentina de Control Automatico, 1992.
K. Ogata, Ingenierı́a de control moderna, 5.a ed. Madrid, Pearson Educación,
S.A. 2010.
K. Ogata, Problemas de Ingenieria de Control Utilizando Matlab, 1.a ed.
Madrid, 2006.
Descargar