Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
L A B O R A T O RI O D E C O N T R O L
Facultad de Ingeniera
1 - -
UNAM
C O N T E N I D O
V. Hoja de Resultados
Facultad de Ingeniera
2 - -
UNAM
I. Objetivo
Al finalizar la prctica el estudiante utilizar los comandos bsicos de MATLAB para el manejo de funciones de transferencia, para graficar funciones as como para el anlisis de sistemas de control.
II. Antecedentes
El estudiante deber contar con conocimientos matemticos relativos a los cursos de lgebra, Ecuaciones Diferenciales, conocer el manejo matemtico de los sistemas lineales invariantes en el tiempo as como las bases de la solucin numrica de problemas matemticos. Deber contar con conocimientos bsicos de programacin en algn lenguaje de alto nivel. Se recomienda que cuente con una computadora con la versin 4.2 de MATLAB.
3 - -
UNAM
HELP On-line documentation. HELP, by itself, lists all primary help topics. Each primary topic corresponds to a directory name on MATLABPATH. "HELP topic" gives help on the specified topic. The topic can be a command name or a directory name. If it is a command name, HELP displays information on that command. If it is a directory name, HELP displays the Table-Of-Contents for the specified directory. It is not necessary to give the full pathname of the directory; the last component, or last several components, are sufficient. For example, "help general" and "help matlab/general" both list the Table-Of-Contents for the directory toolbox/matlab/general. LOOKFOR XYZ looks for the string XYZ in the first comment line of the HELP text in all M-files found on MATLABPATH. For all files in which a match occurs, LOOKFOR displays the matching lines. MORE ON causes HELP to pause between screenfuls if the help text runs to several screens. See also LOOKFOR, WHAT, WHICH, DIR, MORE.
donde las variables de salida se encierran entre parntesis cuadrados (corchetes) y las de entrada entre parntesis normales. Para una sola salida los corchetes son opcionales. Si no hubiera al final de la sentencia un punto y coma, el programa nos mostrara el resultado recogido en cada una de las salidas. El programa MATLAB hace diferencia entre maysculas y minsculas. Las variables generadas durante una sesin se van almacenando en el "espacio de trabajo" del propio programa. Si se saliera de ste sin salvarlas previamente las variables se perderan. Para guardarlas se utiliza el comando "save + nombre-archivo". Por ejemplo:
save prac_00
MatLab automticamente agrega la extensin *.mat. Para recuperar los resultados de una sesin anterior se teclea el comando:
l oa d p r a c_ 0 0
y coloca su contenido en el "espacio de trabajo". Para consultar el contenido del "espacio de trabajo" se teclea el comando:
who ("whos" proporciona informacin adicional a cada variable)
4 - -
UNAM
Si slo se teclea clear se borraran todas las variables existentes. Para consultar los archivos que estn contenidos en el "directorio de trabajo" desde el cual se inicia la sesin de MATLAB ( c:>matlab\trabajo ) se usa el comando:
dir
Para crear un vector columna se utiliza el smbolo " ' " que significa transpuesto al final de los corchetes, o bien se separan los elementos mediante " ; ". Por ejemplo:
a = [4 5 6 ] ' b = [1+j; 2+pi*i; -sqrt(-l) ]
Para generar vectores con una sucesin de valores entre dos lmites prefijados se utiliza el smbolo " : ". Por ejemplo:
t = [ 0 : 0.1 : 4 ]
Existen un par de comandos que realizan la misma operacin generando n elementos entre los lmites n1 y n2.
t1 = Iinspace(n1, n2, n); t2 = Iogspace(n1, n2, n); (de forma lineal) (de forma logartmica)
El smbolo " ; " al final de cada instruccin evita que el programa muestre el resultado de la operacin realizada. Si en cambio se desea visualizar el contenido de una variable creada previamente, basta con teclear su nombre.
Facultad de Ingeniera
5 - -
UNAM
Para generar una matriz se deben de separar las columnas mediante el smbolo " ; ". Por ejemplo:
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
Las races de la ecuacin algebraica que se obtiene al igual el polinomio a cero se pueden obtener utilizando la instruccin
roots(p)
si se cuenta con las races se puede formar el vector que representa al polinomio en MatLab mediante la instruccin poly( ), por ejemplo
p2 = poly([-l -2])
donde p es el vector que representa al polinomio en MatLab y s es el punto en el cual se desea evaluar. Puede evaluarse al polinomio en un conjunto de valores si s se define como un vector. Para la multiplicacin de polinomios se maneja la instruccin
c = conv([l 1],[12])
y para la divisin:
d = deconv([l 3 2],[1 1])
Facultad de Ingeniera
6 - -
UNAM
Si se desean representar funciones sobre una misma ventana pero en grficas separadas, debe utilizarse la instruccin subplot, su formato es el siguiente
subplot(renglones, columnas, activar)
donde renglones y columnas representan el nmero de cada una de stas que se desea aparezcan en la ventana, y activar indica la grfica que se va a trazar. Si, por ejemplo, se desea mostrar a la izquierda la grfica de la funcin seno y a la derecha la del coseno, se deber crear una ventana con un rengln y dos columnas para las grficas, de acuerdo con las siguientes instrucciones
a = [0:0.1:2*pi]; b = sin(a); c = cos(a); subplot(1,2,1) plot(a,b) subplot(1,2,2) plot(a,c) % a: contiene 63 ngulos entre 0 y 2 % b: contiene los valores del seno de a % c: contiene los valores del coseno de a % crea ventana de 1 x 2 y selecciona la primera grfica % representa al seno % selecciona la segunda grfica % representa al coseno
en donde lo que esta escrito a la derecha del signo % en cada rengln debe entenderse como un comentario. Varias instrucciones para el anlisis de sistemas generan automticamente grficas. Un ltimo aspecto que ser importante en la obtencin de representaciones grficas es la forma de incluir textos en ellas, las principales instrucciones que pueden utilizarse son
title xlabel ylabel legend escribe un ttulo en la parte superior para nombrar a la grfica. permite escribir un nombre al eje x de la grfica. permite escribir un nombre para el eje
y de la grfica.
La forma de utilizar estas instrucciones se puede encontrar con la instruccin de ayuda de Matlab.
7 - -
UNAM
discretos. Permite adems estudiar y obtener grficas de las respuestas en el dominio del tiempo y de la frecuencia. IV5.1 Funciones Bsicas A continuacin se describen algunas de las funciones ms comnmente utilizadas para el anlisis de sistemas lineales invariantes en el tiempo.
a) Conversin de Modelos
El modelo que representa la dinmica de un sistema fsico, contimuo o discreto, puede representarase de las siguientes maneras Representacin en el espacio de estado. Como funcin de transferencia en forma numerador, denominador. Como funcin de transferencia en forma factorizada. MatLab cuenta con un conjunto de funciones que permiten convertir un modelo en otro con facilidad
[num, den] = ss2tf(a, b, c, d, lu) [zeros, poles, gain] = ss2zp(a, b, c, d, lu) [a, b, c, d] = tf2ss(num,den) [zeros, poles, gain] = tf2zp(num, den) [a, b, c, d] = zp2ss(zeros, poles, gain) [num, den] = zp2tf(zeros, poles, gain)
b) Funciones de Anlisis Las funciones para el anlisis para sistemas continuos son bsicamente
impulse step lsim bode respuesta a entrada impulso respuesta a entrada escaln respuesta a cualquier entrada diagramas de Bode
8 - -
UNAM
Para encontrar la respuesta de un sistema para cuando la entrada es un escaln unitario se utiliza la instruccin step. Antes de utilizarla debe generarse un vector de tiempo durante el cual se desea analizar la respuesta del sistema, de esta manera
t = [0: 1: 100]'; y = step(num, den, t); plot(t, y)
Nota: Si al utilizar la instruccin step no se asigna su salida a ninguna variable, la instruccin muestra la grfica de la respuesta.
Para la respuesta a una entrada impulso se utiliza el mismo mtodo pero con la funcin impulse en vez de step. Si la entrada a analizar no es una de las dos normalizadas, se debe de disponer de ella en un vector columna y utilizar el comando lsim. Por ejemplo:
ramp = t; y = lsim(num, den, ramp, t); plot(t, y)
para obtener el lugar geomtrico de las races de una Funcin de Transferencia se utiliza la instruccin
rlocus(num, den)
V. Hoja de Resultados
Facultad de Ingeniera
9 - -
UNAM
Nombre:
_______________________________
G ( s) =
s +1 s + 5s + 6
2
utilizando las instrucciones de MATLAB, graficar a) La respuesta al impulso del sistema. Utilice impulse(num, den, t) con t = 0: 0.1: 5 b) La respuesta a escaln del sistema. Hacer uso de step(num, den, t) con t = 0: 0.1: 5 c) La respuesta del sistema a la entrada sen(2t ) . Utilice la funcin lsim(num, den, u, t) con t = 0: 0.2: 20 y u (t ) = sen(2t ) . d) La seal de salida del sistema a una entrada e t . Utilice la funcin lsim(num, den, u, t) con t = 0: 0.1: 5 y u (t ) = exp(t )
2. La dinmica de un sistema en tiempo discreto est representado por la siguiente funcin de transferencia
G(z) =
z2 z 2 .5 z + 1
2
utilizando las instrucciones de MATLAB, graficar a) La respuesta al impulso del sistema. Utilice dimpulse(num, den, t) con axis([0 10 0 1.5]). b) La respuesta a escaln del sistema. Hacer uso de dstep(num, den, t) con axis([0 10 0 1.5]). c) Utilice la funcin subplot para obtener en una sola ventana las dos grficas de las respuestas anteriores. Agregar un nombre en los ejes, en la grfica, as como en los puntos de
importancia.
Facultad de Ingeniera
10-
UNAM