Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Elementos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
NOCIONES DE MATLAB
N de prctica: 1
Tema: Nociones de Matlab
Nombre completo del alumno Firma
Manual de Prcticas
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Manual de Prcticas
Elementos de Control
Secretara/Divisin: Divisin de Ingeniera Elctrica rea/Departamento: Control y Robtica
clear variable 1
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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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
Elementos 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