Académique Documents
Professionnel Documents
Culture Documents
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
NOCIONES DE MATLAB
N de prctica: 1
Tema: Nociones de Matlab
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
1. Seguridad en la ejecucin
Peligro o Fuente de energa Riesgo asociado
CONTENIDO
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
V. Hoja de Resultados
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
I. Objetivo
II. Antecedentes
I Actividad 1
IV.1 Introduccin
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
Al abrir MATLAB hay tres pantallas aparece una pantalla con tres ventanas:
La primera ventana de la izquierda, es la ventana de arranque (launch pad) en donde se
localizan todos los directorios y demos. La segunda ventana a la izquierda, donde se lleva
un registro de los comandos que se han ejecutado, as como de las variables y parmetros
utilizados, ventana de historia de comandos (command history). La tercera ventana a la
derecha, la ventana de comandos (command window) se considera la ventana principal y es
precisamente donde se declaran las variables y comandos de un programa y donde se ubica
el smbolo '', como se muestra en la figura 1.
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
asignacin de un parmetro. Para salir de MATLAB cuando sea pertinente use los
comandos quit o exit.
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.
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:
load prac_00
clear variable 1
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
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
II Actividad 2
INGRESO DE DATOS
La forma de ingresar los datos, puede ser de alguno de los tipos siguientes: Un escalar, un
vector o una matriz.
Si una matriz tiene una sola rengln (escribiendo los caracteres separados por comas o
espacios) o una sola columna (escribiendo los caracteres separados por punto y coma),
entonces se ingres un vector; conocidos como un vector rengln o un vector columna.
B=[12.56 36.47]
MATRIZ
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
ESTILO
Matlab es sensible a la diferencia entre maysculas y minsculas, as que los nombres Dato,
DATO y dato representan tres variables distintas.
La forma ms sencilla de definir una matriz es usar una lista de nmeros, como:
A=[8.7]
B=[12.56 36.47]
W = [1 34 90
59 12 67
22 -9 37]
PUNTOS SUSPENSIVOS
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
Si hay demasiados nmeros en un rengln de una matriz para que quepan en una lnea,
podemos continuar la instruccin en la siguiente lnea, pero se requiere una coma y tres
puntos al final de la lnea para indicar que la rengln debe continuar.
Ejemplo:
H=[-2,0,-3,4,-3,-4,5,0,0,2,1,1,1,3,4,-0.2]
H = [-2,0,-3,4,-3,-4,...
5,0,0,2,1,1,1,3,4,-0.2]
Ejemplo:
B =[1.5,4.1]
D = [-4,1.5,4.1]
Tambin podemos modificar los valores de una matriz o agregar valores adicionales
usando una referencia a un lugar especfico. Por ejemplo:
D(3) = 6 ;Cambia el tercer valor de la matriz D del valor 4.1 por 6, para quedar como:
D = [-4,1.5,6]
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
3.- E=[3,5,10,0;0,0,...
continuar la lnea.
4.- T=[4,24,9]
agrega al vector B.
al elemento .
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
Si se usa el operador dos puntos para separar dos enteros, el operador de dos puntos
generara todos los enteros entre los dos enteros especificados.
Tambin se usa el operador dos puntos para separar tres nmeros, el operador de dos puntos
generar valores entre el primer nmero y el tercero, usando el segundo nmero como
incremento:
funcin analgica.
r =15:-1:0
10
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
W=[4,3,2;4,6,3];
F=zeros(size(W))
C= [1, 2, 3; 4, 2, 5];
D = ones(size(C))
a=3;
b=[2,6,4];
c=[4,10,2];
11
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
a*b
a+c
La suma de un escalar a un vector o matriz slo aade el escalar a cada elemento del vector
o matriz la resta se define de manera similar:
a-b
Los vectores y matrices se suman (o restan) como lo hacemos en matemticas, esto es, los
dos vectores o matrices deben tener la misma forma para sumarse o restarse a menos que
uno de ellos sea un matriz de 1*1, un escalar, como lo vimos antes :
b+c
c-b
Los vectores y las matrices se multiplican de acuerdo a las reglas del lgebra matricial:
b*c
Este resultado ilustra un error comn en Matlab. Las matrices deben ser conformables para
ser multiplicadas utilizando el operador *. La premultiplicacin de un vector rengln de
1x3 como c por un vector rengln de 1x3 como b no est definida. Sin embargo si c se
transpusiera a un vector columna 3x1, se definira la multiplicacin. La transposicin se
efecta con el operador ' (apostrofe).
c'
b*c'
12
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
A menudo es muy til multiplicar dos vectores o matrices de la misma forma, elemento por
elemento en vez de utilizar las reglas usuales de la multiplicacin de matrices. Ese tipo de
multiplicacin se denomina multiplicacin del arreglo en Matlab y se lleva a cabo
utilizando el operador .*
A=[4,3,2,4,6];
C=3.*A
G=A./5
A fin de ilustrar las operaciones de arreglos para vectores, considere los dos siguientes
vectores rengln:
B=[-6,3,-2,4,6];
L=A.*B
F=A./B
13
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
Z=A.^2
M=A.^B
como;
P=3.^A
Los ejemplos anteriores utilizaron vectores, pero las mismas reglas se aplican a matrices
con renglones y columnas, como lo podrs constatar declarando la matriz 'd' ejecutando las
operaciones indicadas:
d=[1:6;-1:-1:-6];
f=d.*6
w=d.^2
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])
14
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
ps=polyval(p,s)
y para la divisin:
printsys(num, den)
Actividad 3
GRAFICA x-y:
15
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
Grficas x vs. y sencillas. Suponga que se desea graficar los resultados de un experimento,
y se cuenta con una tabla de datos.
x y
1 158.5
2 93.8
3 84.2
4 77.3
5 111.5
6 88.3
7 100.1
8 65.6
9 90.5
10 149.4
Pruebe generar esta grfica: creando un vector llamado x con los Si se agrega un tercer
argumento en el comando datos:
x = [1 2 3 4 5 6 7 8 9 10];
y = [158.5 93.8 84.2 77.3 111.5 88.3 100.1 65.6 90.5 149.4];
16
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
plot (x, y)
Tambin es posible dibujar una retcula sobre la grfica mediante el uso del comando:
grid
Se pueden incluir un Ttulo de la grfica y etiquetas para los ejes coordenados, de la forma
siguiente:
title('Titulo de la grafica')
xlabel('Variable independiente')
ylabel('Variable dependiente')
plot ste define el color y el estilo de la grfica. Es una cadena la que determina el color de
la lnea, estilo de la misma y los smbolos (si los hay) utilizado para los puntos de marca,
por tanto intente dar elegancia a su grafica anterior agregando al comando plot:
plot(x,y,'ro');grid
17
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
LISTA DE CARACTERES
R rojo + ms -- Discontinua
(guionada)
G verde * asterisco
B azul s cuadrado
W blanco d diamante
K negro v triangulo(hacia
abajo)
^ triangulo
(hacia arriba)
Graficas lineales y logartmicas: La mayor parte de las grficas que generamos dan por
hecho que los ejes x vs. y se dividen en intervalos espaciados uniformemente; estas grficas
se llaman grficas lineales. Una escala logartmica (de base 10) es til cuando una variable
abarca varios rdenes de magnitud.
Los comandos MATLAB para generar grficas lineales y logartmicas de los vectores x y y
son los siguientes:
18
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
semilogx(x,y) Genera una grfica de los valores de x y y usando una escala logartmica
para x y una escala lineal para y.
semilogy(x,y) Genera una grfica de los valores de x y y usando una escala lineal para
x y una escala logartmica para y.
Graficas mltiples: Una forma sencilla de generar curvas mltiples en la misma grfica es
usar mltiples argumentos en un comando de graficacin, como en:
Cdigo No.1
v1=[0:0.001:.7979];
w1=298;
q=1.6022e-19;
n=1.5;
k=1.38e-23;
num1=q.*v1;
den1=n*k*w1;
M1=num1./den1;
x1=1e-9.*exp(M1);
v2=[0:0.0001:.6379];
w2=358;
num2=q.*v2;
den2=n*k*w2;
M2=num2./den2;
x2=1024e-9.*exp(M2);
19
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
El siguiente juego de instrucciones genera cuatro graficas que ilustran la funcin del
comando subplot empleando escalas lineales y logartmica.
Cdigo No. 2
t=[0:0.001:1];
f=2;
w=2*pi*f;
x=((1/2).*(1+cos(2*w.*t)));
subplot(2,2,1);plot(t,x,'r','linewidth',2);grid
subplot(2,2,2);semilogx(t,x,'b','linewidth',2);grid
subplot(2,2,3);semilogy(t,x,'r','linewidth',2);grid
20
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
subplot(2,2,4);loglog(t,x,'b','linewidth',2);grid
Cdigo No. 3
t=[-6*pi:0.001:6*pi];
w1=2/3;
w2=1/2;
w3=1/3;
x1=2.*sin(w1.*t);
x2=3.*sin(w2.*t);
x3=4.*sin(w3.*t);
plot(t,x1,'b',t,x2,'r',t,x3,'k','linewidth',2);title('Cada senoidal completa un numero entero de
ciclos');gris
V. Hoja de Resultados
Nombre: _______________________________
21
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Divisin de Ingeniera
rea/Departamento: Control y Robotica
Elctrica
Nociones de Simulink de
Matlab
N de prctica: 1
Tema Correspondiente: Uso y manejo de Simulink de Matlab
1. Seguridad en la ejecucin
Peligro o Fuente de
Riesgo asociado
energa
1 Corriente Alterna Electrocucin
2. Objetivos de aprendizaje
3. Introduccin
2
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
Por lo que, adems de los anlisis tericos en la enseanza del control automtico, ser
necesario mostrar al alumno el manejo adecuado de Matlab con el fin de complementar
su formacin en lo que respecta a las soluciones numricas y de simulacin.
Simulink es un programa que funciona en el ambiente de Matlab, dicho programa cuenta
con una interfaz grfica de usuario que permite la construccin de sistemas por medio de
diagramas de bloques o conos. Simulink es una herramienta fcil de utilizar, debido a que
cuenta con libreras de elementos de sistemas, donde podemos encontrar: elementos de
entrada (fuentes de seales), elementos de salida (graficadores), bloques que representan a
los sistemas (boques de funciones de transferencia, o variables de estado), adems de
bloques o conos de unin. Para todos los elementos mencionados anteriormente es posible
ajustar los parmetros de los mismos, con la intencin de ajustarse al sistema bajo prueba
tales como son: tiempo de inicio, tiempo de paro, mtodo de solucin de ecuaciones
diferenciales, etc. En resumen, Simulink es una herramienta poderosa para el anlisis de
sistemas dinmicos. Por lo que, resulta indispensable para el estudio del control automtico.
Cabe hacer mencin que existen programas de software con licencia libre que permiten la
misma utilizacin y funcionamiento similar de Matlab y que siguen un similar protocolo de
funcionamiento tales como Scilab como el programa similar a Matlab y Scicoslab en el
entorno Simulink que pueden emplear el similar formato de utilizacin de Matlab o de
Simulink. La pgina de descarga de dichos programas se encuentra en:
http://www.scilab.org para Scilab y http://www.scicoslab.org/ para Scicoslab similar a
Simulink.
3
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
3. Material y Equipo
A) Una PC con Matlab Versin mnima 5.3 instalado con las caja de herramientas
simulink.
4. Desarrollo
I. Actividad 1
En las versiones de Matlab para Windows, para iniciar el programa haga un doble clic
sobre el icono del programa. Aparecer, entonces, la pantalla del espacio de trabajo de
Matlab, donde podr introducir comandos. La lnea de comando aparecer como >>
4
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
Para construir el primer sistema defina en el espacio de trabajo las variables; introduciendo
la siguiente lnea de comando >> R=1; L=1; C=0.1; oprima enter
La ventana de simulink mostrada ser Simulink Library Browser (SLB). Observe que en
dicha ventana se muestran las libreras.
d 2 vc R dv c 1 V
2
+ + vc =
dt L dt LC LC
5
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
Seleccione la opcin Math y elija Sum, arrstrelo a la ventana de archivo nuevo suelte
el botn del ratn, para dejar el bloque.
Seleccione la opcin Math y elija Gain, arrstrelo a la ventana de archivo nuevo suelte
el botn del ratn, para dejar el bloque.
6
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
d 2 vc R dv c 1 V
2
= vc + .
dt L dt LC LC
El modelo queda como se muestra en la Fig.2. Las ganancias (que deben estar definidas
como Element-wise gain) se editan dando doble clic con el botn izquierdo e
introduciendo los trminos adecuados.
7
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
Resultados Obtenidos
8
Manual de Prcticas
Fundamentos de Control
Secretara/Divisin: Ingeniera Elctrica rea/Departamento: Control y Robtica
5. Conclusiones
6. Bibliografa
KUO, Benjamn C
Sistemas de Control Automtico
Mxico
Prentice Hall
7 Edicin 1996
Nice, Norman S
Sistemas de Control Para Ingeniera
Mxico
Compaa Editorial Continental
1 Reimpresin 2004
Ogata, Katsuhiko
Ingeniera de control moderna
Mxico Pearson, 2001