Ing.
Adriana Aguirre
Introducción a MATLAB
Parte 2
Sistemas de Control
Comandos a revisar
1. Creación de funciones de transferencia
2. Reducción de bloques
3. Otros relacionados a la ingeniería de control
4. Symbolic Toolbox
Creación de funciones de transferencia
Existen dos comandos para añadir una variable del tipo
función de transferencia a MATLAB.
El comando tf es conveniente utilizarlo cuando la función de
transferencia a ingresar está expresada como la división de
dos polinomios.
El comando zpk es conveniente utilizarlo cuando la función
de transferencia a ingresar está expresada como la división
de términos de la forma (s-r).
Creación de funciones de transferencia
La sintaxis para el comando tf es la siguiente:
G=tf(num,den)
num: variable que contiene los coeficientes del polinomio del
numerador.
den: variable que contiene los coeficientes del polinomio del
denominador.
G=tf([1 0 8 5],[1 10 6 0 0])
Creación de funciones de transferencia
La sintaxis para el comando zpk es la siguiente:
G=zpk(z,p,k)
z: variable que contiene las raíces del polinomio del numerador
(ceros). En caso de que no existan ceros → z=[]
p: variable que contiene las raíces del polinomio del
denominador(polos).
k: término de ganancia
G=zpk([-8],[0 -5 -2-j -2+j],10)
Creación de funciones de transferencia
Adicionalmente, si se añadió una función de transferencia
usando el comando tf y se desea visualizar la misma como
ceros, polos y ganancia puede usar el siguiente comando:
G=zpk(G)
G: función de transferencia ingresada previamente.
Viceversa→ G=tf(G); donde G fue ingresada a través del
comando zpk.
Reducción de bloques
Interconexión serie:
Gr=G1*G2 → Gr=series(G1,G2)
Interconexión paralelo:
Gr=G1+G2 → Gr=parallel(G1,G2)
Reducción de bloques Sistema realimentado:
● Realimentación negativa
Gr=G1/(1+G1*G2)
Gr=feedback(G1,G2,-1)
Gr=feedback(G1,G2)
● Realimentación positiva
Gr=G1/(1-G1*G2)
Gr=feedback(G1,G2,+1)
Reducción de bloques
Al usar el comando feedback, es importante el orden en el
que se colocan los argumentos→ feedback(G1,G2)no es igual a
feedback(G2,G1).
Al realizar reducciones de diagramas de bloques es
importante usar el comando minreal sobre los resultados
obtenidos para realizar la cancelación de polos y ceros en
caso de ser posible.
Otros comandos...
p=pole(G) → guarda los polos de G en p
z=zero(G) → guarda los ceros de G en z
pzmap(G) → grafica en el plano s los polos y ceros de G
step(G) → grafica la respuesta de G ante una entrada
escalón unitario. Esta gráfica permite obtener
características como tiempo de estabilización, tiempo pico,
valor pico y valor final de la respuesta de G.
Otros comandos...
impulse(G) → grafica la respuesta de G ante una entrada
impulso. Esta gráfica permite obtener las características
principales de la respuesta de G.
dcgain(G) → devuelve la ganancia DC de G.
Además existen otros comandos del toolbox de control que se
revisarán a lo largo del curso.
Symbolic Toolbox
Esta herramienta permite al usuario utilizar comandos para
crear y operar con variables simbólicas. Al declarar una
variable simbólica no se le asigna ningún valor, sin embargo
sí es posible definir qué tipo de variable es (real,
imaginaria, compleja, etc).
El comando utilizado para definir variables simbólicas es:
syms a b c x
En este ejemplo se definen a, b, c y x como variables
simbólicas
Symbolic Toolbox
Con estas variables se pueden realizar operaciones aritméticas
básicas y otras funciones como las que se detallan a
continuación:
ex1=diff(y,x)→ deriva la función y(x) con respecto a x.
ex2=int(y,x)→ integra la función y(x) con respecto a x.
mod=abs(y)→ determina la expresión del módulo de y(x).
fase=angle(y)→ determina la expresión de la fase de y(x).
Symbolic Toolbox
ex3=solve(y==10,x)→ resuelve la expresión y(x)=10 para la
variable x
ex4=subs(y,x,5) → sustituye la variable x en la expresión y
por el valor 5. También se puede sustituir una variable por
otra.
ex5=double(ex4) → de ser posible, transforma el resultado
simbólico en ex4 (variable simbólica) en un resultado
numérico (ex5: variable numérica).
Existen muchos más comandos disponibles; puede consultar los
mismos en la ayuda de MATLAB.