Anda di halaman 1dari 13

MATLAB

I- Objetivos

Familiarizarse con el uso de Matlab.

II- Introducción

Es una herramienta de software matemático que ofrece un entorno de


desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje
M). Está disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la


representación de datos y funciones, la implementación de algoritmos, la
creación de interfaces de usuario (GUI) y la comunicación con programas en
otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone
de dos herramientas adicionales que expanden sus prestaciones, a saber,
Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces
de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con
las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de
bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y


desarrollo. En los últimos años ha aumentado el número de prestaciones, como
la de programar directamente procesadores digitales de señal o crear código
VHDL.

LABORATORIO DE SISTEMAS DE CONTROL I MATLAB 2017-II


VENTANA DE TRABAJO - MATLAB

III- Procedimiento

COMANDOS VISTOS EN CLASE

HELP
help lista todos los temas de ayuda primarios en la ventana de comandos. Cada
tema de ayuda principal corresponde a un nombre de directorio en el
MATLAB ruta de búsqueda
help / lista todos los operadores y caracteres especiales, junto con sus
descripciones.
Para evitar que las descripciones largas se desplacen fuera de la pantalla antes
de tener tiempo para leerlas, ingrese more on y luego ingrese la instrucción
de help.
EJEMPLO

 help close muestra ayuda para la función de close.

 help database/close muestra ayuda para la función de close en el Database


Toolbox.

 help datafeed muestra ayuda para la caja de herramientas Datafeed.

1
 help database enumera las funciones en el Cuadro de herramientas
de database datos y muestra ayuda para la función de database, porque hay
una función y una caja de herramientas llamada database.

 help general enumera todas las funciones del


directorio $matlabroot/toldos/matlab/general. Esto ilustra cómo
especificar una ruta de acceso parcial relativa en lugar de una ruta de
acceso completa.

 t = help ('close') obtiene ayuda para la función close y la almacena como


una cadena en t.

TF
Crear modelo de función de transferencia, convertir a modelo de función de
transferencia.

Utilice tf para crear modelos de función de transferencia de valor real o


complejo (objetos TF) o para convertir modelos de estado o de polo de polo cero
en forma de función de transferencia. También puede utilizar tf para crear
modelos generalizados de estado-espacio ( genss ) o modelos de espacio de
estado inciertos ( uss ).

2
Creación de funciones de transferencia
sys = tf( Numerator , Denominator ) sys = tf( Numerator , Denominator ) crea
una función de transferencia de tiempo continuo con numerador (s) y
denominador (es) especificado (s) por Numerator y Denominator . El sistema de
salida es:

 Un objeto modelo tf, cuando Numerator y Denominator son matrices


numéricas.
 Un modelo generalizado de estado-espacio (genss)
cuando Numerator o Denominator incluyen parámetros sintonizables, tales
como parámetros realp o matrices generalizadas (genmat).
 Un modelo de estado-espacio incierto (uss)
cuando Numerator o Denominator son inciertos (requiere el software
Robust Control Toolbox ™).

EJEMPLO

Crear función de transferencia con una entrada y dos salidas


Cree el siguiente modelo de función de transferencia:

El modelo tiene una corriente de entrada y dos salidas, par y velocidad angular.
Especifique los coeficientes de numerador y denominador del modelo:

Numerador = {[1 1]; 1};


Denominador = {[1 2 2]; [1 0]};

Cree el modelo de función de transferencia, especificando el nombre de


entrada, los nombres de salida y la variable.

H = tf (Numerador, Denominador, ‘InputName’, ‘current’,...


‘OutputName’, {‘torque’ 'ang. velocidad
‘Variable’, ‘p’)
H=

De entrada "actual" a salida...

3
par: p+1
----------
p^2+2p+2

1
Ang. Velocidad
Pag

Función de transferencia de tiempo continúo.

Si se establece la propiedad Variable del modelo en ’p’, el resultado se


mostrará como una función de transferencia de la variable p.

FEEDBACK

Para obtener la respuesta temporal de un sistema compensado, es decir, dentro


de un lazo de realimentación negativa, se puede emplear el comando feedback
para definir la función de transferencia en lazo cerrado. Los parámetros de este
comando son el numerador y denominador de la función de transferencia
directa y el numerador y denominador de la función de transferencia de
realimentación H(s). Por ejemplo:

4
» n= [4]
» d= [1 2 0]
» nc =5.6*[1 3]
» dc = [1 5.4]
» [nlc , dlc]=feedback (conv(nc,n),conv(dc,d),1,1)
» step(nlc,dlc)
En cambio, el lugar de las raíces del sistema compensado se debe calcular con la
función de transferencia en lazo abierto:
» rlocus(conv(nc,n),conv(dc,d))

SERIES

series conecta dos objetos modelo en serie. Esta función acepta cualquier tipo
de modelo. Los dos sistemas deben ser tanto continuos como discretos con un
tiempo de muestra idéntico. Las ganancias estáticas son neutras y se pueden
especificar como matrices regulares.

sys = series (sys1,sys2) sys = series(sys1,sys2) forma la conexión en serie básica


que se muestra a continuación.

5
Este comando es equivalente a la multiplicación directa
sys = sys2 * sys1
sys = series(sys1,sys2,outputs1,inputs2) sys =
series(sys1,sys2,outputs1,inputs2) forma la conexión en serie más general.

Los vectores de índice outputs1 y inputs2 indican qué salidas sys1 de sys1 y qué
entradas u2 de sys2 deben estar conectadas. El modelo de modelo resultante
tiene u como entrada y como salida.

6
STEP

Trama de respuesta de paso del sistema dinámico; datos de respuesta paso a


paso.
step(sys)
step(sys,Tfinal)
step(sys,t)
step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,Tfinal)
step(sys1,sys2,...,sysN,t)
y = step(sys,t)
[y,t] = step(sys)
[y,t] = step(sys,Tfinal)
[y,t,x] = step(sys)
[y,t,x,ysd] = step(sys)
[y,...] = step(sys,...,options)

 step calcula la respuesta de paso de un sistema dinámico. Para el caso


estado-espacio, se asume el estado inicial cero. Cuando se invoca sin
argumentos de salida, esta función traza la respuesta de paso en la pantalla.

 step(sys) step(sys) traza la respuesta de paso de un modelo de sistema


dinámico arbitrario, sys . Este modelo puede ser de tiempo continuo o
discreto, y SISO o MIMO. La respuesta escalonada de los sistemas de
múltiples entradas es la colección de respuestas de pasos para cada canal de
entrada. La duración de la simulación se determina automáticamente,
basándose en los polos y ceros del sistema.

 step(sys,Tfinal) simula la respuesta de paso de t = 0 al tiempo final t =


Tfinal . Express Tfinal en las unidades de tiempo del sistema, especificadas
en la propiedad TimeUnit de sys. Para sistemas de tiempo discreto con
tiempo de muestra no especificado (Ts = -1), step interpreta Tfinal como el
número de períodos de muestreo para simular.

7
 step(sys,t) utiliza el vector de tiempo t suministrado por el usuario para la
simulación. Exprese t en las unidades de tiempo del sistema, especificadas
en la propiedad TimeUnit de sys. Para los modelos de tiempo
discreto, t debe ser de la forma Ti:Ts:Tf , donde Ts es el tiempo de
muestreo. Para los modelos de tiempo continuo, tdebe ser de la
forma Ti:dt:Tf , donde dt convierte en el tiempo de muestra de una
aproximación discreta al sistema continuo (ver Algoritmos ). El
comando step siempre aplica la entrada escalonada en t=0 ,
independientemente de Ti .

EJEMPLOS
Pasos de respuesta del sistema dinámico
Trace la respuesta de paso del siguiente modelo de espacio de estado de
segundo orden:


a = [-0,5572, -0,7814; 0,7814,0];
b = [1, -1; 0,2];
c = [1.9691.6.4493];
sys = ss (a, b, c, 0);
paso (sys)

El gráfico de la izquierda muestra la respuesta de paso del primer canal de


entrada, y el gráfico de la derecha muestra la respuesta de paso del segundo
canal de entrada.

8
9
¿Qué es el simulink?
Es una extensión de Matlab que añade un entorno gráfico para modelar, simular y
analizar sistemas dinámicos lineales y no lineales.

En Simulink, realizar el siguiente esquema. Realice la simulación y comente los


resultados.

¿Cómo guardamos, abrimos y hacemos en nuevo documento en Matlab?

La manera más sencilla de guardar y recuperar datos en Matlab es usar los comandos
save y load.

GUARDAR

save misdatos
% o bien
save ('misdatos')

Esta instrucción guarda todas las variables en el workspace en un fichero llamado


misdatos.mat. Ejemplo:

10
x = 1:9;
y = x.^2;
save xy

el fichero xy.mat se guarda en el current directory

También se puede guardar solo algunas variables:

save y_datos y
save xy_datos x y

De esta manera los datos se guardan en formato binario y solo pueden ser leidos por
Matlab

Para guardar los datos en formato ASCII (American Standard Code for Information
Interchange) para que puedan ser utilizados por otras aplicaciones:

save xy.dat x y -ascii

Nota: de esta manera no se guardan los nombres de las variables, solo sus valores

CARGAR

Para recuperar variables guardadas con el comando save en un fichero .mat


(ej. xy.mat):
load xy
% o bien
load ('xy')

11
IV- Observaciones y Conclusiones
 Se vio en clase los comandos ya mencionados y se adjuntó el
programa, vimos el uso de simulink para funciones de lazo cerrado.

 Se aprendió el uso del simulink y de los comandos help, tf, feedback,


series (sys), step.

 El uso del comando plot se ve en la gráfica del comando step.

V- Bibliografía

 https://www.uam.es/personal_pdi/ciencias/jortega/Computacion/Apuntes/ht
ml/guardar_datos.html

 https://es.mathworks.com/

12