You are on page 1of 10

INSTITUTO TECNOLGICO DE SONORA

INTRODUCCIN AL PAQUETE COMPUTACIONAL MATLAB


OBJETIVOS:
-

Que el alumno conozca la lgica de trabajo utilizada en el paquete Matlab.


Que el alumno resuelva una ecuacin diferencial ordinaria para diferentes
entradas.

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:
-

Introducidas por una lista explcita de elementos.


Generados por funciones y comandos
Creadas en archivos M.
Cargadas de archivos de datos externos.
El lenguaje de MATLAB no contiene comandos de dimensin o declaraciones de tipo, stas se
asignan automticamente, hasta la cantidad disponible que se tenga en la computadora en la que
se est trabajando.
El mtodo ms fcil de introducir matrices pequeas es el de usar una lista explcita. La lista
explcita de elementos se separa por medio de espacios en blanco o de comas, y se rodea por
[ y ], y se usa el punto y coma (;) para indicar el fin de renglones. Por ejemplo al introducir el
comando
A=[123;456;789]
Resulta en la salida
A=
123
456
789
La matriz A se almacena en memoria por default para su uso posterior.
Las matrices grandes se pueden esparcir a travs de varias lneas de entrada, con el enter
reemplazando los puntos y comas. Aunque apenas necesario para una matriz de este tamao, la
matriz anterior tambin se pudo haber introducido en tres renglones:
1

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

Notar que el tamao de x se increment automticamente para acomodar el nuevo elemento y


que los elementos intermedios sin definir son puestos a cero.
Se pueden construir matrices grandes usando otras ms pequeas como elementos. Por ejemplo,
se podria anexar otro rengln a la matriz A con
r=[101112];
A=[A;r]
Que resulta en
A=
123
456
789
101112
Se pueden extraer pequeas matrices a partir de otras ms grandes usando : por ejemplo,
A=A(1:3,:)
A=
123
456
789
Toma los primeros tres renglones con todas sus columnas de la matriz A para devolver de vuelta
a la A original.
EXPRESIONES Y VARIABLES
MATLAB es un lenguaje de expresiones. Las expresiones tecleadas por el usuario se interpretan y
evalan por medio del sistema en lnea de MATLAB. Las expresiones
en MATLAB
frecuentemente son de la forma:
Variable = expresin
O simplemente
expresin
Las expresiones se componen de operadores y otros caracteres especiales, de funciones y de
otros nombres de variables. La evaluacin de la expresin produce una matriz, la cual entonces
se despliega en la pantalla y se le asigna a una variable para su uso futuro.
MATRICES Y NMEROS COMPLEJOS
Se permiten los nmeros complejos en todas las operaciones y funciones en MATLAB. Los
nmeros complejos se introducen usando las funciones especiales i y j. Alguien podra usar
3

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

grfica x-y lineal


grfica x-y logartmica - logartmica
grfica x-y semilog (eje x logartmico, eje y lineal)

semilogy
polar
mesh
contour
bar
stairs

grfica x-y semilog (eje x lineal, eje y logartmico)


grfica polar
superficie de malla en tres dimensiones.
grfica de contorno
grfica de barras
grfica de escalera

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.

Existen comandos para el control y escalamiento manual de la grfica:


axis

escalamiento manual de los ejes.


5

hold
shg
clg
subplot
ginput

mantener la grfica en la pantalla.


mostrar la grfica en la pantalla.
borrar la grfica.
dividir la pantalla en varias subventanas.
entrada de datos a partir del mouse.

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

Tabla 2.1. Parmetros del motor de CD.


** Los parmetros corresponden a los motores que contienen los mdulos de prueba de control de
motores del laboratorio de electrnica

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

You might also like