Está en la página 1de 17

UNIVERSIDAD AUTNOMA DE NUEVO LEN

FACULTAD DE INGENIERA MECNICA Y ELCTRICA


DEPARTAMENTO DE CONTROL
Prctica N 1 del Laboratorio de Ingeniera de Control
Introduccin y Comandos de Matlab
OBJETIVO
Familiarizarse con el modo de operacin de Matlab y conocer los comandos principales que
permitan obtener un mejor provecho al manejar el mismo.

SESIN SIMPLE DE MATLAB


Para arrancar Matlab oprima dos veces sobre el icono del escritorio de Windows

O bien, por el men inicio

Laboratorio de Ingeniera de Control

Al arrancar Matlab observar la siguiente pantalla

COMANDOS Y EXPRESIONES
Los comandos y las expresiones se teclean en Matlab como se muestra en la siguiente figura. El
resultado de una expresin se almacena automticamente en la variable ans y se despliega con
cuatro cifras decimales por default.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Prctica1 Introduccin y Comandos de Matlab

VARIABLES
Matlab reconoce la diferencia entre minsculas y maysculas, as volts, Volts y VOLTS son tres
variables diferentes. Las variables deben empezar con letra y no deben contener signos de
puntuacin puesto que estos tienen otro significado en Matlab.

Ntese en la figura anterior como la definicin de las variables voltaje y corriente van seguidas
por punto y coma (;), no as la declaracin de la expresin para la potencia. Para Matlab, todo lo
que termina en punto y coma el resultado no se muestra en la pantalla. Puede usarse tambin la
coma (,) como separador de variables, pero el resultado se mostrar en la pantalla.

EL ESPACIO DE TRABAJO DE MATLAB (WORKSPACE)


Matlab mantiene el valor de todas las variables utilizadas, para saber que valor tiene una variable
solo teclee la variable y ENTER. Por ejemplo, para verificar el valor de las variables ans y
voltaje, dadas anteriormente

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Laboratorio de Ingeniera de Control

Nota: Los valores mostrados pueden cambiar en funcin de los valores que se hayan tecleado
Si no se recuerdan las variables utilizadas puede usarse el comando who, que nos muestra todas
las variables que hasta ahora se han usado.

SALVANDO Y RECUPERANDO DATOS


En adicin a mantener el valor de las variables, Matlab puede almacenar como archivo todas las
variables usadas y recuperarlas posteriormente para otra sesin. Para guardar las variables se usa
el comando Save Workspace As del men File.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Prctica1 Introduccin y Comandos de Matlab

Esto abre el siguiente cuadro de dilogo para teclear el nombre del archivo en el que se guardarn
los datos.

Para borrar todas o una de las variables almacenadas se usa el comando clear. Clear o clear all
borra todas las variables, se requiere espacial cuidado con este comando, ya que no podrn
recuperarse. Para borrar una o ms variables el comando clear va seguido del nombre de la
variable o variables. El siguiente ejemplo borra las variables ans y pot

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Laboratorio de Ingeniera de Control

Ntese que los comandos de matlab deben teclearse en minsculas, de no hacerse as, se mandar
un mensaje de error.
Para borrar todas las variables, se usa clear o clear all.

Note que el comando who nos muestra que no hay ninguna variable almacenada. Para recuperar
las variables se usa el comando Open , del men File

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Prctica1 Introduccin y Comandos de Matlab

Esto abre el cuadro de dilogo para teclear el nombre del archivo donde se almacenaron los datos
(datos.mat)

Puede verificar que las variables se hayan recuperado usando el comando who.
Otros comandos de matlab que puede probar son: whos, clc, help.

FUNCIONES
Las funciones de matlab son muchas, pero consideraremos aqu solo las bsicas como: abs(),
sin(), asin(), angle(), exp(), log(x), log10(), sqrt() e imag().

Valor absoluto de un nmero


a = 2 + j * 3; b = -4;
abs(a)
ans =
3.6056

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Laboratorio de Ingeniera de Control

Funcin Seno y seno inverso (El ngulo debe estar en radianes)


f = sin(pi/3), fi = asin(f)*180/pi
f=
0.8660

fi =
60.0000

ngulo de un nmero
teta = 180*angle(a)/pi
teta =
56.3099

Exponencial de un nmero
exp(-2)
ans =
0.1353

Logaritmo natural
log(ans)
ans =
-2

Logaritmo base 10
log10(100)
ans =
2

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Prctica1 Introduccin y Comandos de Matlab

Raz cuadrada
sqrt(875)

ans =
29.5804

Obtencin de la parte imaginaria de un nmero complejo


imag(a)
ans =
3
Otras funciones son cos(), acos, tan(), atan(), real(), conj()

ARREGLOS SIMPLES (VECTORES)


Los vectores en matlab se definen por medio de parntesis rectangulares, ejemplo
a = [1 3 0.8 4 6], b = [2+i 0.4-3*j 1 0 5]'
a=
1.0000

3.0000

0.8000

4.0000

6.0000

b=
2.0000 - 1.0000i
0.4000 + 3.0000i
1.0000
0
5.0000
Note que para definir un vector columna se utiliza el operador de traspuesta (, comilla). Otra
forma de hacerlo es separar cada elemento del vector por punto y coma (;).

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

Laboratorio de Ingeniera de Control

Para direccionar los elementos del vector, segundo y cuarto elemento de a, por ejemplo:
a(2), a(4)
ans =
3

ans =
4
Para el tercer y primer elemento del vector b
b(3), b(1)
ans =
1

ans =
2.0000 - 1.0000i
La operacin entre vectores obedece las reglas del lgebra de vectores, ejemplos
c = a + b'
c=
Columns 1 through 4
3.0000 + 1.0000i 3.4000 - 3.0000i 1.8000

4.0000

Column 5
11.0000
d=a*b
d=
34.0000 + 8.0000i
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

10

Prctica1 Introduccin y Comandos de Matlab

Otra forma de generar vectores de una forma simple es, por ejemplo:
t = (0:0.1:2) * pi, el cual nos genera el vector t cuyos elementos comienzan en 0, tiene
incrementos de 0.1 hasta llegar al 2, todos multiplicados por 3.1416, es decir:
t = (0:0.1:2)*pi
t=
Columns 1 through 7
0

0.3142

0.6283

0.9425

1.2566

1.5708

1.8850

Columns 8 through 14
2.1991

2.5133

2.8274

3.1416

3.4558

3.7699

4.0841

5.3407

5.6549

5.9690

6.2832

Columns 15 through 21
4.3982

4.7124

5.0265

GRFICOS SIMPLES
Con el vector t definido anteriormente se puede obtener la funcin senoidal dada por
y = sin(t);
que se puede graficar con el comando plot
plot(t, y)
grid
title('Funcin senoidal')
xlabel('tiempo'), ylabel('Seno(t)')
los comandos anteriores nos dan la siguiente grfica

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

11

Laboratorio de Ingeniera de Control

MATRICES
La forma de definir matrices en matlab es parecida a la de vectores; cada elemento de una fila
est separado ya sea por espacio o bien por coma, un rengln se determina por un punto y coma
al final del mismo, por ejemplo
A = [ 1 0 2; 2 -1 3; 3 5 4]
A=
1
2
3

0
-1
5

2
3
4

La traspuesta de esta matriz esta dada por:


B = A'
B=
1
0
2

2
-1
3

3
5
4

Tambin, las matrices obedecen las leyes del lgebra de matrices, la resta de las matrices
anteriores es
C=A-B
C=
0
2
1

-2 -1
0 -2
2 0

El producto de stas matrices es


D=A*B
D=
5 8 11
8 14 13
11 13 50
La inversa de la matriz A es
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

12

Prctica1 Introduccin y Comandos de Matlab

inv(A)
ans =
-2.7143 1.4286 0.2857
0.1429 -0.2857 0.1429
1.8571 -0.7143 -0.1429

MATRICES ESPECIALES
Matriz identidad o unitaria
eye(3)
ans =
1
0
0

0
1
0

0
0
1

Matriz cero
zeros(4)
ans =
0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

Matriz de unos
ones(3, 5)
ans =
1
1
1

1
1
1

1
1
1

1
1
1

1
1
1

Enseguida se presenta la Tabla 1 en la que se presentan las ordenes y funciones matriciales que se
usan en la resolucin de problemas de control.
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

13

Laboratorio de Ingeniera de Control

TABLA 1. Ordenes de Matlab y Funciones Matriciales


rdenes y funciones matriciales
usadas normalmente en la Explicacin de lo que hacen las rdenes y de lo que significan las funciones
resolucin de problemas de matriciales y las sentencias.
ingeniera de control.

abs
angle
ans
atan
axis
bode
clear
clg
computer
conj
conv
corrcoef
cos
cosh
cov
deconv
det
diag
eig
exit
exp
expm
eye
filter
format long
format long e
format short
format short e
freqs
freqz
grid
hold
i
imag
inf
inv
J
length
linspace
log
loglog
logm
logspace
log10

Valor absoluto, magnitud compleja


ngulo de fase
Respuesta cuando no se asigna expresin
Arco tangente
Escalado manual de ejes
Representacin en el Diagrama de Bode
Borra el espacio de trabajo
Borra la pantalla grfica
Tipo de computador
Complejo conjugado
Convolucin, multiplicacin
Coeficientes de correlacin
coseno
coseno hiperblico
Covarianza
Deconvolucin, divicin
Determinante
Matriz diagonal
Valores popios y vectores propios
Finalizar programa
Exponencial base e
Matriz exponencial
Matriz identidad
Implementacin de filtro directo
Punto fijo escalado a 15 digitos (Ejemplo: 1.33333333333333)
Punto flotante escalado a 15 digitos (Ejemplo: 1.33333333333333e+000)
Punto fijo escalado a 5 digitos (Ejemplo: 1.3333)
Punto flotante escalado a 5 digitos (Ejemplo: 1.3333e+000)
Respuesta en frecuencia de la Transformada de Laplace
Respuesta en frecuencia de la Transformada-z
Dibujar rejilla o cuadricula
Mantener la grfica actual en la pantalla
1

Parte imaginaria
Infinito ()
Inversa
1

Longitud del vector


Vectores espaciados linealmente
Logaritmo natural
Grfica x-y loglog
Logaritmo matricial
Vectores espaciados logaritmicamente
Logaritmo en base 10
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

14

Prctica1 Introduccin y Comandos de Matlab

lqe
lqr
Max
mean
median
min
NaN
nyquist
Ones
Pi
plot
polar
poly
polyfit
polyval
polyvalm
prod
Quit
Rand
rank
real
rem
residue
rlocus
roots
semilogx
semilogy
sign
sin
sinh
size
sqrt
sqrtm
std
step
sum
Tan
tanh
text
title
trace
Who
Xlabel
Ylabel
Zeros

Diseo del estimador lineal cuadrtico


Diseo del regulador lineal cuadrtico
Valor mximo
Valor medio
Mediana
Valor mnimo
No es un nmero
Respuesta a la frecuencia en el Diagrama de Nyquist
Constante
Pi ( )
Grfica x-y lineal
Grfica polar
Polinomio caracterstico
Ajuste de curva polinomial

Evaluacin polinomial
Evaluacin polinomial matricial
Producto de elementos
Finalizar el programa
Generacin de nmeros aleatorios y matrices
Calcula el rango de una matriz
Parte real
Resto mdulo
Expansin en fracciones parciales
Diagrama del lugar de las races
Races de un polinomio
Diagrama semilogartmico x-y(eje-x logartmico)
Diagrama semilogartmico x-y(eje-y logartmico)
Funcin signo
Seno
Seno hiperblico
Dimensin de una matriz
Raz cuadrada
Raz cuadrada matricial
Desviacin estandar
Respuesta a un escaln unitario
Suma de elementos
Tangente
Tangente hiperblica
Posicionado arbitrario de texto
Titulo de una grfica
Traza de una matriz
Lista de todas las variables actualmente en memoria
Etiqueta en el eje x
Etiqueta en el eje y
Cero

Conversiones de modelos
MATLAB tiene rdenes para las siguientes conversiones de modelos:
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

15

Laboratorio de Ingeniera de Control

Conversin del espacio de estado a funcin de transferencia (ss2tf)


Conversin de funcin de transferencia a espacio de estado (tf2ss)
Conversin del espacio de estado a ceros-polos (ss2zp)
Conversin ceros-polos a espacio de estado (zp2ss)
Conversin de funcin de transferencia a ceros-polos (tf2zp)
Conversin ceros-polos a funcin de transferencia (zp2tf)
Conversin de tiempo continuo a tiempo discreto (c2d)

Operadores matriciales
Los siguientes signos se utilizan en las operaciones matriciales:

+
*
^

Suma
Resta
Multiplicacin
Potencia
Transpuesta conjugada

Operadores relacionales y lgicos


Los siguientes operadores relacionales y lgicos se utilizan en MATLAB:
<
Menor que
<=
Menor que o igual a
>
Mayor que
>=
Mayor que o igual a
==
Igual
~=
No igual
&
AND
|
OR
~
NOT
Observe que = se utiliza en una sentencia de asignacin, mientras que == se emplea en
una relacin.
Caracteres especiales
En MATLAB se utilizan los siguientes caracteres especiales:
[]
Utilizado para formar matices y vectores
()
Precedencia de operacin aritmtica
,
Separa elementos y argumentos de fucnin
;
final de filas, suprime la impresin
:
Generacin de vectores
!
Ejecucin de orden del sistema operativo
%
Comentarios
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011

16

Prctica1 Introduccin y Comandos de Matlab

REPORTE
Como reporte adems de lo solicitado en los requerimientos generales:
1
Portada
2
Objetivo
3
Marco Terico
4
Desarrollo
5
Resultados
6
Conclusiones

A.- Adems del desarrollo debern incluirse en donde correspondan aplicaciones a ejemplos de
las Ordenes de MATLAB y Funciones Matriciales siguientes:
sqrt, log, log10, exp, format long, format long e, format short, format short e (aplicndolas
a los mismos datos)
abs, conj, imag, real (aplicndolas a los mismos datos)
det, diag, eye, zeros, ones, prod, size, sum (aplicndolas a los mismos datos)
Es necesario presentar las pantallas en el reporte en Word y dar una explicacin de cada orden de
MATLAB y explicar como se realizaran manualmente. En las pantallas deber aparecer la carga
de datos y como son los mismos para varias ordenes se pueden presentar varias ordenes en la
misma pantalla agregando comentarios.

B.- Realizar sobre las mismas matrices las siguientes operaciones:

Suma
Resta
Multiplicacin
Transpuesta
Inversa
Multiplicacin de una matriz por su inversa
Es necesario presentar las pantallas impresas desde Word y explicar cmo se realizan
manualmente cada una de estas operaciones matriciales. En una pantalla deber aparecer la carga
de datos y como son los mismos para todas las operaciones se pueden realizar varias operaciones
en la misma pantalla.

C.- Realizar las grficas de respuesta en el tiempo de sen(t), cos(t), tan(t) para dos ciclos
completos. En una pantalla deber aparecer la carga de los datos y como son los mismos para
las tres grficas en pantallas separadas se presentara cada grfica.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011

17