Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN
MATLAB trabaja esencialmente con un solo tipo de objeto: una matriz numrica rectangular cuyos
elementos pueden ser complejos. En algunas situaciones especiales, el significado real se
encuentra en matrices de 1X1, las cuales representan escalares; o a matrices con solamente un
rengln o una sla columna, las cuales son de hecho vectores. Las operaciones y comandos en
MATLAB suponen que los elementos con los que trabajan son matrices, esto es, an cuando la
informacin que se est manejando sea un escalar o un vector, dicha informacin deber estar
contenida en una matriz.
INTRODUCCIN DE MATRICES SIMPLES
Las matrices se pueden introducir en MATLAB de varias maneras diferentes:
-
A=[123
456
789]
A=
123
456
789
Las matrices se pueden introducir a partir de archivos de disco con nombres terminados en .m.
Si un archivo llamado gena.m contiene las siguientes tres lneas de texto
A=[123
456
789]
entonces si se da el comando gena, Matlab lee el archivo y genera a la matriz A.
El comando Load puede leer matrices generadas por sesiones anteriores de MATLAB o matrices
en ASCII importadas de otro programa.
ELEMENTOS DE MATRIZ
Los elementos de una matriz se pueden formar a partir de cualquier expresin de MATLAB, por
ejemplo:
x=[1.3sqrt(3)(1+2+3)*4/5]
Resulta en
x=
1.30001.73214.8000
Los elementos individuales de una matriz se pueden referenciar por medio de indices dentro de
parntesis, ( y ).
Continuando con el ejemplo
x(5)=abs(x(1))
Produce
x=
1.30001.73214.800001.3000
z=3+4*i
Mientras que otros preferiran
z=3+4*j
otro ejemplo es
w=r*exp(i*theta)
Existen al menos dos formas convenientes para introducir matrices complejas. Estas se ilustran
por las expresiones
A=[12;34]+i*[56;78]
y
A=[1+5*i2+6*i;3+7*i4+8*i]
Que produce el mismo resultado.
GENERACIN DE VECTORES
Los dos puntos ( : ), es un caracter importante en MATLAB. La expresin
x=1:5
genera un vector rengln conteniendo los nmeros del 1 al 5 con un incremento unitario, que
produce:
x=
12345
Se pueden usar incrementos diferentes a uno:
y=0:pi/4:pi
lo que resulta en
y=
00.78541.57082.35623.1416
tambin se pueden tener incrementos negativos:
z=6:1:1
4
lo cual proporciona
z=
654321
LA UTILERA HELP
Se encuentra disponible una utilera de ayuda (HELP), que proporciona ayuda en la mayora de
los temas de MATLAB, para obtener una lista de temas de ayuda, teclear
help
para obtener ayuda en un tema especfico, teclear helptema, por ejemplo
helpeig
proporciona ayuda sobre la informacin del uso de la funcin eig
GRAFICADO
Se pueden examinar los datos de manera grfica en MATLAB usando los comandos de papel
grfico para crear grficas en la pantalla. Existen muchos tipos diferentes de papel grficopara
escoger:
plot
loglog
semilogx
semilogy
polar
mesh
contour
bar
stairs
una vez que la grfica se encuentra en la pantalla, la grfica puede se etiquetada, titulada, o se le
pueden dibujar lneas de escalas.
title
xlabel
ylabel
text
gtext
grid
ttulo de la grfica.
etiqueta del eje x.
etiqueta del eje y.
texto posicionado arbitrariamente.
texto posicionado por ratn.
cuadriculado de la grfica para mostrar las lineas de escala.
hold
shg
clg
subplot
ginput
FORMA BSICA
Si y es un vector, plot(Y) produce una grfica lineal de los elementos de Y con respecto al
ndice de los elementos de y. Por ejemplo, para graficar los nmeros {0.0, 0.48, 1.0, 0.91, 0.6,
0.14}, se introducen como vector, y se ejecuta plot:
y=[0.00.481.00.910.60.14];
plot(y)
lo que resulta en que aparezca la grfica de la figura 2.1 en la pantalla:
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Figura 2.1
Notar que los datos se autoescalan y que se dibujan los ejes X y Y.
Una vez que la lnea de comandos es trada de vuelta, se le pueden aadir etiquetas a la grfica:
title(Miprimeragrfica)
xlabel(estadios)
ylabel(ganancias)
grid
Esto resulta en la figura 1.2
Mi primera grfica
1
0.9
0.8
0.7
ga 0.6
na
nci
0.5
as
0.4
0.3
0.2
0.1
0
estadios
Figura 2.2
La funcin gtext(texto) permite que con el mouse o las teclas flecha del teclado se
posicione un apuntador en forma de cruz en la grfica, en cuyo punto central se colocar texto
una vez que se presione cualquier tecla o botn del mouse.
Si los vectores x y y son de la misma longitud, el comando plot(x,y) dibuja una grfica x-y de
los elementos de x vs. los elementos de y. Por ejemplo:
t=0:0.05:4*pi%vectordetiempo
y=sin(t)%vectordemagnitudydependientedet
plot(t,y)
resulta en la figura 2.3
Figura 2.3
Observar lo que sucede con la grfica al usar la funcin zoom desde la lnea de comandos
FUNCIONES Funcin (function)
Existe una clase de funciones en MATLAB que trabaja no con matrices numricas, sino con
funciones matemticas. Donde estas funciones incluyen:
7
Integracin numrica.
Ecuaciones no lineales y optimizacin.
Solucin de Ecuaciones diferenciales.
Las funciones matemticas se representan en MATLAB por archivos tipo-M funcin. Por ejemplo,
la funcin
humps( x )
1
1
6
2
( x 0.3) 0.01 ( x 0.9) 2 0.04
se hace disponible para matlab creando (en editor ascii) un archivo tipo-M llamado humps.m:
functiony=humps(x)
y=1./((x0.3).^2+0.01)+1./((x0.9).^2+0.04)6;
donde ./ y .^ indican que la operacin / y la operacin ^ se efectuarn elemento por elemento
de la matriz o vector en lugar de con la matriz o vector visto como un elemento total.
Se puede hacer una grfica de la funcin usando
x=1:.01:2;
plot(x,humps(x))
lo que produce que aparezca la grfica de la figura 2.4 en la pantalla:
100
80
60
40
20
-20
-1
-0.5
0.5
1.5
Figura 2.4
EL TOOLBOX DE CONTROL DE MATLAB.
El toolbox de control, contiene una serie de funciones que son bastante utilizadas en sistemas de
control, a continuacin se revisarn algunas de ellas:
Respuesta en el tiempo:
>> y = step(num,den,t)
8
se obtiene la respuesta a una entrada escaln, dados el vector conteniendo los coeficientes del
polinomio del numerador (num) y el del denominador (den) de una funcin de transferencia, el
parmetro t es un vector que indica los instantes de tiempo para los que se desea que se obtenga
la respuesta.
>> y = impulse(num,den,t)
se obtiene la respuesta a una entrada impulso unitario, dados el vector conteniendo los
coeficientes del polinomio del numerador (num) y el del denominador (den) de una funcin de
transferencia, el parmetro t es un vector que indica los instantes de tiempo para los que se desea
que se obtenga la respuesta.
>> y = lsim(num,den,u,t)
se obtiene la respuesta a una entrada u, que es un vector que contiene puntos de la seal de
entrada para la que se desea obtener la respuesta de salida, dados el numerador (num) y el
denominador (den) de una funcin de transferencia, el parmetro t es un vector que indica los
instantes de tiempo para los que se desea que se obtenga la respuesta.
Por ejemplo, si se desea obtener la respuesta en el tiempo para una funcin rampa:
>>t=0:0.01:20;
>>ramp=t;
>> y = lsim([1 0],[1 2 6],ramp,t)
>> plot(t,y);
donde el numerador = S, y el denominador = S2 + 2S + 6.
Adems se pueden generar varias seales de prueba usando las siguientes funciones, por
ejemplo para generar una seal cuadrada, se puede hacer uso de la funcin SQUARE:
SQUARE
Seal cuadrada.
SQUARE(*t) genera una seal cuadrada de frecuencia , para cada valor de tiempo dado en el
vector t.
Y usando esta funcin para generar una seal cuadrada:
>>t=0:0.001:1
% simular 1 segundo con muestras cada 1 ms
>> u=square(2*pi*10*t;)
% seal cuadrada de 10 Hz
>>plot(t,u); % se grafica la seal con respecto al tiempo (la seal tendr un periodo de 0.1 seg.)
MATERIAL Y EQUIPO
1 Computadora 80386 o mejor con el paquete matlab instalado.
DESARROLLO
1.- Lea completa y detenidamente toda la prctica.
9
2.- Dada la FDT de un motor de CD en la ecuacin 2, obtenga la respuesta a una entrada escaln
de magnitud 2 volts, dada la funcin de transferencia del motor de CD, si se consideran los
siguientes parmetros** (obtener 0.1 segundos de dicha respuesta):
Parmetro
Resistencia de
armadura
Inductancia de
armadura
Constante de eg
Constante de Torque
Momento de inercia de
la armadura
Coeficiente de friccin
viscosa
Smbolo
Ra
Valor
5.3
Unidades
La
0.58
mH
K1
K2
Ja
0.027
0.027
1.57 x10-6
V / (rad/sec)
Nm / Amp
Kg m2
6.00x10-6
Nm seg
K2
W (S )
2
Va ( S ) J a La S ( J a Ra a La ) S ( K1 K 2 Ra a )
(ec. 2)
3.- Realice 2.-, pero ahora considerando una entrada impulso unitario.
4.- Realice 2.-, pero ahora considerando una entrada rampa de pendiente 2 volts / seg.
5.- Realice 2.-, pero ahora considerando una seal cuadrada de frecuencia 4 Hz, amplitud 2 volts
pico y un tiempo de simulacin de 1 segundo.
6.- Realice 2.-, pero ahora considerando una entrada senoidal de frecuencia = 10 Hz, valor pico
de 5 volts y un tiempo de simulacin de 0.8 segundos.
10