Este documento resume las principales funciones y sentencias del software Scilab para el análisis y simulación de sistemas discretos de control. Incluye definiciones de sistemas, operaciones con polinomios, funciones matemáticas, cálculo matricial, respuesta ante entrada escalón, gráficos, respuesta en frecuencia, transformaciones, realimentación de variables de estado, programación y lugar de las raíces.
1. Sistemas Discretos de Control.
Ibon Sagastabeitia Buruaga. Depto. de Electricidad y Electrónica. Fac. de Ciencia y Tecnología. U.P.V. / E.H.U.
LISTADO RESUMIDO DE FUNCIONES Y SENTENCIAS DE SCILAB
DEFINICION DE SISTEMAS
tf: Permite definir una FT
sys=tf(x): con x un cociente de polinomios o un sistema en el espacio de estados
sys=tf(n,d): con n y d los polinomios numerador y denominador respectivamente.
sys=tf(n,d,T): lo mismo que la anterior pero para definir FT discreta con T el periodo de muestreo
syslin: Permite definir un sistema en forma de FT o de ec. de estado
sys=syslin('c',a,b,ct,d,x0): con a,b,ct y d las matrices en el espacio de estados y x0 el vector de
condiciones iniciales del vector de estados.
sys=syslin('d',a,b,ct,d,x0,T): lo mismo que la anterior pero para sistemas discretos, T el periodo
de muestreo.
OPERACIONES CON POLINOMIOS:
r=roots(p) - Obtención de las raíces del polinomio p
[ceros polos gan_af]=zpkdata(sys) - Devuelve 3 vectores con los ceros, polos y ganancia (alta
frecuencia) del sistema sys
p2=horner(p1,x) - Permite sustituir la variable del polinomio o cociente de polinomios p1 por la
expresión x
ganancia=dcgain(sys) - Devuelve la ganancia a bajas frecuencias del sistema sys
g1=trfmod(g) - Permite visualizar en una ventana de texto los polinomios numerador y denominador
factorizados, con posibilidad de editarlos.
FUNCIONES MATEMÁTICAS:
log(x) - logaritmo neperiano
log10(x) - logaritmo decimal
a^x - exponenciación
exp(x) - el número e elevado a x
real(c), imag(c) - partes real e imaginaria del número complejo c
abs(x) - valor absoluto de x
sqrt(b) - raíz cuadrada de b
floor(x) - redondea el número real x en el entero inmediatamente inferior
ceil(x) - redondea el número real x en el entero inmediatamente superior
sin(x), cos(x), tan(x) - seno, coseno y tangente del ángulo x en radianes
asin(y), acos(y), atan(y) - arco seno, coseno y tangente de y (resultado en radianes)
CÁLCULO MATRICIAL:
[nf nc]=size(M) - dimensiones de la matriz M
det(M) - determinante de la matriz M
inv(M) - inversa de la matriz M
M' - traspuesta conjugada de la matriz M
eye(M) - matriz identidad de las mismas dimensiones que la matriz M
zeros(M) - matriz de ceros de las mismas dimensiones que la matriz M
[minimo posicion]=min([x1 x2 x3 x4 ... xn]) - elemento mínimo de un lista y su posición en el array
[maximo posicion]=max([x1 x2 x3 x4 ... xn]) - elemento máximo de un lista y su posición en el array
RESPUESTA ANTE ENTRADA ESCALÓN
step(sys,n) - dibuja en la ventana grafica activa la salida del sistema sys con t calculado
automáticamente, y la línea de color n
step(g,t,n) : igual que la anterior pero con el vector t especificado.
[y,tt]=step(g,t) : devuelve los vectores salida y tiempo (el especificado tt=t o el calculado
automáticamente) sin dibujar en la ventana gráfica.
Nota1: Para sistema discretos se visualizan por defecto los valores de las secuencias de salida y se
mantiene el valor hasta el próximo instante de muestreo (señal escalonada).
2. Sistemas Discretos de Control.
Ibon Sagastabeitia Buruaga. Depto. de Electricidad y Electrónica. Fac. de Ciencia y Tecnología. U.P.V. / E.H.U.
Nota2: Si se desea que únicamente se visualicen los valores de la secuencia de salida habrá que
especificarlo: [y=]step(g[,t],'+')
GRÁFICOS:
[x y]=ginput(n) - Devuelve las coordenadas de los n puntos seleccionados con el ratón en la ventana
gráfica activa
plzr(sys) - Presenta en el plano s/z los polos y ceros del sistema sys
zgrid() - presenta los puntos de delta y wn constante en el plano z
replot([xmin ymin xmax ymax]) - reescala la ventana gráfica activa
RESPUESTA EN FRECUENCIA
bode(g,wmin,wmax) - Lugar de Bode de frecuencias de interés
nyquist(gz) - Lugar de Nyquist
[phm fr]=p_margin(sys) - frecuencias de ganancia crítica y MF correspondientes
[modulo fase]=dbphi(c) - módulo (en dB) y fase (en grados) del número complejo c
TRANSFORMACIONES
g=ss2tf(sys) - permite obtener la FT correspondiente al sistema en la representación en el espacio de
estados sys
sysd=c2d(sys,T) - Permite obtener la representación discreta equivalente del sistema continuo sys con
un ZOH y periodo de muestreo T.
REALIMENTACIÓN DE VARIABLES DE ESTADO
k=ppol(a,b,[p1 p2 p3 ... pn]) - obtención de la matriz de ganancias de realimentación si a y b son las
matrices del sistema y pi los polos deseados en LC
SENTENCIAS DE PROGRAMACIÓN
for i=iinicial:pasoi:ifinal do
sentencias
end
while condicion do
sentencias
end
if condicion then
sentencias
else
sentencias
end
LUGAR DE LAS RAÍCES
evans(sys,kmax) - LR del sistema sys desde k=0 hasta k=kmax
[kcr z_kcr]=rlocfind(sys) - Devuelve la coordenada en el plano s/z del punto seleccionado con el
ratón y el valor de la ganancia proporcional al cual corresponde
DEFINICIÓN DE FUNCIONES
function [y]=nombre_funcion(x)
sentencias
endfunction