Está en la página 1de 7

PRACTICA N 1

INTRODUCCION A MATLAB Y SIMULINK


OBJETIVOS

Familiarizar al estudiante con el uso del programa desarrollado por MathWorks


Inc., denominado PC-MATLAB y con el toolbox denominado SIMULINK que
sirve para la simulacin de sistemas.

Incentivar en el estudiante el uso de un computador personal como herramienta


de anlisis y diseo.

FUNDAMENTO TEORICO
MATLAB es un sofisticado lenguaje de programacin codificado en C, basado en
matrices para clculos cientficos y de ingeniera. El nombre MATLAB es una
abreviatura para MATrix LABoratory.
MATLAB trabaja esencialmente con matrices numricas rectangulares (que pueden
tener elementos complejos), lo cual implica el uso de vectores fila o columna. Por esta
razn este paquete tiene una proyeccin hacia el control moderno (descrito a variables
de estado) y es til para ilustrar las relaciones existentes entre las tcnicas clsicas y
modernas de anlisis mediante un conjunto de rutinas de propsito general que
permiten modelar, analizar y simular cualquier tipo de sistema dinmico. MATLAB
contiene libreras (Toolboxes) de propsito especfico, as por ejemplo: Sistemas de
Control, Procesamiento de Seales, Optimizacin, Identificacin de Sistemas, Lgica
Fuzzy, Redes Neuronales, etc.
MATLAB es un sistema abierto ya que el usuario puede editar sus propias funciones
especficas, las mismas que son guardadas a manera de macros o programas
denominados archivos.m porque son almacenados en las bibliotecas de MATLAB
mediante archivos ASCII con la extensin .m
COMANDOS GENERALES
MATLAB posee un conjunto sumamente extenso de funciones agrupadas por reas. El
comando help permite disponer de mayor informacin acerca de estas funciones.
Cuando se desea ayuda en lnea de un comando en particular se escribe: help
comando.
Algunos de los comandos generales de MATLAB se indican a continuacin:
help

ayuda

demo

demostraciones

who

muestra variables en memoria

what

lista archivos especficos de MATLAB

clear

limpia variables y funciones

computer

tipo de computadora

^C

caracteres y operadores especiales

exit, quit

salida de MATLAB

MANIPULACION DE MATRICES
Existen diferentes formas de introducir una matriz en MATLAB. Entre ellas, la siguiente:
A = [1 2 3; 4 5 6; 7 8 9]

Se asigna a la variable A una matriz 3x3

Los elementos en una fila de una matriz pueden separarse tanto por comas como por
espacios en blanco. Las operaciones que se pueden realizar con matrices son: (+)
adicin, (-) sustraccin, (*) multiplicacin, (^) potenciacin, () transpuesta, (\) divisin
izquierda A\B es equivalente a inv(A)*B y (/) divisin derecha A/B es equivalente a
A*inv(B).
Estas operaciones para matrices se aplican tambin a escalares (matrices 1x1). Si los
tamaos de las matrices son incompatibles para la operacin matricial se obtiene un
mensaje de error.
Se puede adems efectuar operaciones con arreglos (elemento por elemento). Para
ello, las operaciones *, ^, \, y /, deben ser precedidas por un punto. Por ejemplo, tanto
[1 2 3].* [1 2 3] como [1 2 3].^2 darn [1 4 9].
Para la construccin y manipulacin de matrices existen diferentes funciones que estn
disponibles en MATLAB. Entre ellas:
Eye

matriz identidad

zeros matriz de ceros

ones

matriz de unos.

inv

inversa

eig

valores propios

poly

polinomio caracterstico

expm

matriz exponencial

Rank rango

det

determinante

size

tamao

min

mnimo elemento

max

mximo elemento

rand

matriz generada aleatoriamente

tril

parte triangular inferior de una matriz

roots

races del polinomio caracterstico trace traza

triu

parte triangular superior de una matriz

Para generar vectores y submatrices se usa la notacin de dos puntos. Su uso


adecuado hace que las instrucciones sean ms simples y legibles. Por ejemplo, observe
el resultado de las siguientes expresiones:
1:3

genera un vector fila [1 2 3]

1 : 0.5 : 3

genera un vector de 1 a 3 con pasos de 0.5, es decir [1 1.5 2 2.5 3]

A(:,2)

es la segunda columna de A

A(1:2,:)

son las dos primeras filas de A

A(2,3)

elemento de la fila 2 y columna 3 de la matriz A.

MANEJO DE GRAFICOS
MATLAB puede generar grficos planos y grficos de malla de superficies
tridimensionales. Para el manejo de grficos planos, la instruccin plot crea grficos en
el plano XY; si x e y son vectores de la misma longitud, realiza un grfico plano de los
elementos de x versus los elementos de y. Por ejemplo, se puede dibujar la grfica de la
funcin y =sen2(x), sobre el intervalo [-4,4] con las siguientes instrucciones:
t = -4 : 0.01 : 4; y = sin(t).^2; plot(t,y)
De lo anterior se tiene que t es un vector que inicia en -4 y termina en 4 en pasos de
0.01. Las instrucciones pueden tambin escribirse una por una.
Diferentes funciones pueden dibujarse sobre una misma figura; para ello basta definir
cada funcin con nombre diferente y ejecutar la instruccin; ej: plot (t, y1, t, y2) otra
forma es manteniendo abierta la pantalla de grficos, para ello se ejecuta la instruccin
hold como se muestra en el siguiente set de instrucciones plot(t,y1) ; hold ; plot(t,y2)
para salir de la pantalla de grficos se ejecuta hold nuevamente.
Puede ponerse ttulo, comentarios en los ejes o en cualquier otra parte con los
siguientes comandos que tienen una cadena como argumento:
title(ttulo del grfico)
xlabel (comentario en el eje x)
ylabel (comentario en el eje y)
gtext texto posicionado interactivamente
text
texto posicionado mediante coordenadas
axis
permite escalar los ejes manualmente
grid
cuadriculado en el grfico
subplot permite dividir la pantalla para visualizar varios grficos a la vez
Para el caso de los grficos en tres dimensiones, Matlab emplea las funciones mesh y
meshgrid. La instruccin mesh(z) crea un grfico tridimensional en perspectiva de la
matiz z. La superficie de la malla est definida por las coordenadas z de los puntos
sobre un cuadriculado rectangular en el plano XY.
Para dibujar la grfica de una funcin z = f(x,y)sobre un rectngulo, se define en primer
lugar los vectores xx e yy .Un ejemplo de este tipo de grficos puede verse al ejecutar
las siguientes instrucciones.
[X,Y] = meshgrid(-8:0.5:8);
R = sqrt(X .2 + Y .2) + eps;
Z = sin( R ) . /R;
mesh(X,Y,Z)

SCRIPT
Matlab permite colocar rdenes en un simple archivo de texto y, a continuacin, decirle

a matlab que lo abra y evale las rdenes exactamente como si hubiesen sido escritas
desde la lnea de orden de Matlab. Estos archivos se llaman archivos script o archivosM, y deben finalizar con la extensin 'm'.
Para crear un archivo .m en Matlab, se debe dirigir a FILE, NEW, y finalmente M-FILE
Lectura y escritura interactiva de variables:
disp(informacina mostrar);
Permite imprimir en pantalla un mensaje de texto o el valor de una matriz
var=input(mensaje de ingreso de datos);
Imprime un mensaje en la lnea de comandos de MATLAB y recupera como valor de
retorno un valor numrico o el resultado de una expresin tecleada por el usuario.
FUNCIONES Y SUBFUNCIONES
Las funciones permiten definir funciones enteramente anlogas a las de MATLAB, con
su nombre, sus argumentos y sus valores de retorno. Los ficheros *.m que definen
funciones permiten extender las posibilidades de MATLAB; de hecho existen bibliotecas
de ficheros *.m que se venden (toolkits) o se distribuyen gratuitamente (a travs de
Internet). Las funciones definidas en ficheros *.m se caracterizan porque la primera
lnea (que no sea un comentario) comienza por la palabra function, seguida por los
valores de retorno (entre corchetes [ ] y separados por comas, si hay ms de uno), el
signo igual (=) y el nombre de la funcin, seguido de los argumentos (entre parntesis y
separados por comas).
function [lista de valores de retorno] = name (lista de argumentos)
Nota: name es el nombre de la funcin dentro del archivo name.m
La lista de valores de retorno y/o argumentos pueden no ir. Ejemplo: Realizar una
funcin que halle el valor mximo y el valor mnimo de un vector de Cualquier longitud.
SIMULINK
Simulink es un entorno grfico para modelacin y simulacin de sistemas. Las
diferentes bibliotecas que posee, permiten construir funciones y realizar el anlisis del
modelo de una manera sencilla empleando simulacin. Para invocar a Simulink, basta
teclear en la pantalla de comandos:
>> simulink
A breves rasgos Simulink permite:

Dibujar elementos y conexiones en una ventana grfica. Las conexiones indican el


recorrido de las seales de un elemento a otra.

Los elementos se los extrae de la biblioteca del propio Simulink, e inclusive se


pueden crear nuevos elementos.

Los resultados se obtienen como salida de algunos elementos, pudindose


almacenar, ver grficamente, etc.

Los datos o seales de entrada pueden obtenerse de salidas de variables


especiales, del disco o de variables utilizadas en MATLAB.

Al abrir el toolbox Simulink se abre la pantalla de bloques que usa para su


funcionamiento, entre ellos tenemos:
Continuos: integradores, derivadores, funcin de transferencia, retardo de transporte,
memorias, etc.
Discretos: funciones de transferencia discretas, filtros digitales, ZOH, espacio de
estado discreto, etc.
Matemtica: sumadores, ganancias, funciones trigonomtricas, matrices, etc.
Fuentes: escaln unitario, seno, ruido blanco, variables desde un archivo .mat,
generadores de seales, etc.
No-lineales: switches, relees, etc.
Seales y Sistemas: entradas y salidas; multiplexores y demultiplexores para varias
entradas y/o salidas y para vectores.
Salidas: displays, osciloscopios, salidas a archivos .mat, o al espacio de trabajo.

Figura 1

Librerias de Simulink

Para analizar un modelo de cualquier tipo, se empieza creando un archivo nuevo tipo
model (elegir opcin desde File...New), y se abren los distintos grupos de funciones a
utilizar simplemente arrastrando con el mouse, al rea de trabajo, los bloques
deseados. Luego se procede a conectarlos por medio de un click sostenido uniendo sus
entradas y salidas.
Despus se configuran los parmetros de cada bloque segn el modelo y los
parmetros con los que se trabajar en el men de simulacin, como: el tiempo de
inicio, tiempo de finalizacin; tipo de algoritmo de integracin, etc. Finalmente, se inicia
(start) la simulacin.
El progreso de la simulacin se puede observar en la pantalla mientras sta corre y al
final, los resultados se pueden guardar en el espacio de trabajo de MATLAB creando
archivos .mat de la misma manera para guardar la informacin y posteriormente
analizarla o imprimirla.
Parmetros de Simulacin (Configuration Parameters)
Existen diversos parmetros de la simulacin que se pueden modificar, el primero de
ellos es el tiempo de simulacin (por omisin 10 seg.) se entra en el men simulacin
en el submen de parmetros (Parameters). Con ello aparece una ventana como la
mostrada en la figura 2. Otras opciones a conocer son:

Tiempo inicial (por omisin 0 seg.)

Tiempo final (por omisin 10 seg.) o tiempo de simulacin

Opciones de la integracin numrica


Tipo: puede ser de paso fijo o variable
Mtodo: vara desde el ms sencillo Euler (paso fijo) a otros ms sofisticados

como Dormand-Price.

Figura 2

Parmetros de Simulacin

Un ejemplo sencillo de la utilizacin de este paquete se muestra a continuacin:


Funcin de transferencia en lazo abierto;

La respuesta paso en lazo abierto, puede determinarse implementando el diagrama


mostrado en la figura 3.

Figura 3

Respuesta paso en lazo abierto

De igual forma, la figura 4 muestra el diagrama necesario para determinar la respuesta


paso en lazo cerrado (realimentacin unitaria).

Figura 4

Respuesta paso en lazo cerrado

Simulink es por lo tanto, una herramienta muy til para la modelacin y simulacin de
modelos ya sean continuos o discretos, multivariables y no lineales entre otros, ya que
dispone de una serie de ayudas de programacin para casos ms complejos.
Los diagramas de Simulink no pueden ser usados para modelos de Respuesta de
Frecuencia (FRD) matrices LTI.
Relacin entre SIMULINK y Workspace de MATLAB
Es posible utilizar los datos generados en SIMULINK en el workspace de MATLAB, para
ellos existen bloques especficos:
FromWorkspace

% Para traer datos

To Workspace

% Para enviar datos

Cuando se requiere obtener datos a partir del Workspace, siempre es necesario definir
una matriz de dos dimensiones, en donde estarn el tiempo y los datos asociados.

TRABAJO PREPARATORIO

Leer la informacin proporcionada en la hoja gua.

Consultar los tipos de datos con los que trabaja MATLAB.

Considere el siguiente circuito:

Determine la ecuacin diferencial que caracteriza al sistema

Determine la funcin de transferencia del sistema (Vo/Vin)

TRABAJO EXPERIMENTAL

Considere la siguiente matriz

Indique el resultado de las siguientes operaciones y que significa cada una de


ellas (utilice Matlab):
a. A(:,1) b. A(2,:)
c. A(:,2:3)
d. A(:,1:2:3) e. B=[A,[ones(1,2);eye(2)]]
f. A(:,:)
g. A(2:4)=[]
h. ones(3,3) i. eye(3)
j. diag(A)
k. zeros(size(A))
l. rand(size(A))
m. magic(length(A))

Grafique las siguientes funciones sobre un mismo grfico.


Los vectores deberan tener al menos 200 puntos para su graficacin.

Utilizando el comando subplot, grafique las funciones del numeral anterior.


Grafique la rbita de Mercurio (x vs. y) alrededor de la tierra. La rbita de
Mercurio est dada por las siguientes ecuaciones:

x(t) = 93cos t + 36cos 4.15t ,

y(t) = 93sen t + 36sen(4.15t)

Genere tanto x(t) e y(t) como funciones de Matlab y la variable independiente t


desde 0 hasta 44/3 en intervalos de /360.Incluya etiquetas en los ejes, ttulo
del grfico, etc.

Implemente los siguientes diagramas de bloques y determine la respuesta en


cada uno de ellos:
a)

b)

c)

d)

También podría gustarte