Sei sulla pagina 1di 10

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

L A B O R A T O RI O D E C O N T R O L

Prctica Nociones Bsicas de MatLab

Francisco Rodrguez Ramrez Rafael Flores Garca

Facultad de Ingeniera

1 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

C O N T E N I D O

I. Objetivo II. Antecedentes III. Material y Equipo IV. Desarrollo de la Prctica


IV.1 Introduccin IV.2 Estructura de los Datos en MatLab IV.3 Polinomios y Funciones de Transferencia IV.4 Representaciones Grficas IV.5 Anlisis de Sistemas de Control IV.5.1 Funciones Bsicas IV.5.2 Conversin de Modelos IV.5. 3 Funciones de Anlisis

V. Hoja de Resultados

Facultad de Ingeniera

2 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

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.

III. Material y Equipo


Computadora PC y software MatLab versin 4.2.

IV. Desarrollo de la Prctica


IV.1 Introduccin
MATLAB es una herramienta de simulacin y clculo matemtico de tipo numrico (bsicamente matricial) que puede utilizarse para resolver modelos que representan sistemas dinmicos. La capacidad de clculo de MATLAB se basa en sus mltiples funciones (comandos). En esta prctica se mostrar la utilidad de algunas de ellas. Para obtener informacin de estas funciones es conveniente hacer uso del comando help seguido por el nombre de la funcin. Por ejemplo:
help help

Que explica que es el comando help de la siguiente manera


Facultad de Ingeniera

3 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

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.

La sintaxis general de MATLAB es la siguiente:


[ salidal, salida2, ... ] = nombre de comando (entradal, entrada2,...);

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)

Si se desea borrar alguna de las variables del "espacio de trabajo" se utilizar:


Facultad de Ingeniera

4 - -

UNAM

Nociones Bsicas de MatLab clear variable 1

Manual de Prcticas de Laboratorio

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 salir del programa basta con teclear:


exit quit

IV.2 Estructuras de los datos


El elemento bsico en MATLAB es una matriz de orden n x m. Esto incluye tambin a los vectores reales y complejos, y a los valores escalares, e incluso se hacer extensible, solo con fines de manejo de datos, a polinomios y funciones de transferencia. Los vectores "rengln" para asignar datos a un vector se introducen utilizando corchetes separando sus valores ya sea por comas o por espacios en blanco. Por ejemplo:
x = [ 1 2 3 ] y=[l+j,2+pi*i,-sqrt(-l)]

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

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

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 ]

IV.3 Polinomios y Funciones de Transferencia


MatLab representa a los polinomios como si fueran vectores, los cuales contienen los coeficientes del polinomio ordenados de la mayor a la menor potencia. Por ejemplo, para el polinomio, s 3 + 2s 2 + 3s + 4 se debe crear el vector
p = [1 2 3 4];

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])

Para evaluar el polinomio en un punto se utiliza la instruccin


ps = polyval(p, s)

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])

Para que MatLab presente el en forma de fraccin se utiliza


printsys(num, den)

Facultad de Ingeniera

6 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

IV.4 Representaciones Grficas


La instruccin ms utilizada para la representacin grfica en MATLAB es: plot. Acorde a lo planteado al principio, puede obtenerse informacin de esta instruccin de la siguiente manera
help plot

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.

indica lo que representa cada curva de la grfica.

La forma de utilizar estas instrucciones se puede encontrar con la instruccin de ayuda de Matlab.

IV.5 Anlisis de Sistemas de Control


Matlab cuenta de una extensa coleccin de funciones para su uso directo en ingeniera de control. Control System Toolbox est formada por un conjunto de algoritmos implementados en archivos con extensin *.m, que permiten realizar el anlisis y diseo de sistemas de control. Este toolbox esta diseado para emplearse para sistemas lineales e invariantes en el tiempo, continuos y
Facultad de Ingeniera

7 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

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

nyquist residue roots

diagrama de Nyquist desarrollo en fracciones parciales races de una ecuacin algebraica

y las funciones ms comunes para el anlisis de sistemas discretos son


dimpulse dstep dlsim
Facultad de Ingeniera

respuesta a entrada impulso respuesta a entrada escaln respuesta a cualquier entrada

8 - -

UNAM

Nociones Bsicas de MatLab dbode diagramas de Bode

Manual de Prcticas de Laboratorio

Adems existen funciones comunes a ambos sistemas, tales como


margin rlocus rlocfind ctrb obsv mrgenes de ganancia y de fase en la traza de Nyquist lugar de races de las races ganancia en diferentes puntos del lugar de races de las races matriz de controlabilidad matriz de observabilidad

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)

la respuesta en frecuencia se encuentra por medio de la instruccin


bode(num, den)

V. Hoja de Resultados
Facultad de Ingeniera

9 - -

UNAM

Nociones Bsicas de MatLab

Manual de Prcticas de Laboratorio

Nombre:

_______________________________

Responda a las siguientes preguntas


1. Considerando que la dinmica de un sistema fsico, el sistema de tiempo contnuo, se representa a travs de la siguiente funcin de transferencia

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

Potrebbero piacerti anche