Professional Documents
Culture Documents
Laboratorio 1
Introduccin al MATLAB para sistemas de control
1.1.
1.2.
Fundamento terico.-
1.2.1.
Comandos generales.-
ayuda
busqueda de funciones relacionadas al argumento
demostraciones
muestra variables en memoria
lista archivos especficos de MATLAB
limpia variables y funciones
tipo de computadora
caracteres y operadores especiales
sale de MATLAB
1.2.2.
Manipulacin de matrices.-
A 1 2 3;4 5 6;7 8 9
Se crea una matriz 3x3 y la asigna a la variable A. Los elementos en una fila de
una matriz pueden separarse tanto por comas como por espacios en blanco.
Las operaciones que se pueden realizar con matrices son:
+
*
\
/
adicin
sustraccin
multiplicacin
^
potenciacin
transpuesta
divisin izquierda. A\B es equivalente a inv(A)*B
divisin derecha. A/B es equivalente a A*inv(B)
1
1
2
2
3 *1 2 3 1
3^ 2 1 4 9
matriz de ceros
inversa
polinomio caracteristico
rango
tamano
mximo elemento
traza
1.5 2
A(:,2)
A(1:2,)
A(2,3)
2.5 3
es la segunda columna de A
son las dos primeras filas de A
elemento de la fila 2 y columna 3 de la matriz A
y sin(t ).^ 2 ;
plot (t , y )
hold;
plot(t,y2)
Para el caso de los grficos en tres dimensiones, Matlab emplea las funciones
mesh meshgrid. La instruccin mesh(z) crea un grafico tridimensional en
perspectiva de la matriz z. La superficie de la malla esta definida por las
coordenadas z de los puntos sobre un cuadriculado rectangular en el plano XY.
1.2.4.
Control de flujo.-
expresin
Instrucciones
end
El lazo while repite un grupo de instrucciones un numero indeterminado de veces
mientras la expresin sea verdadera.
if. La forma general de un bucle if es:
if
elseif
expresin
Instrucciones
expresin
Instrucciones
else
Instrucciones
end
Las instrucciones se ejecutaran solo si la expresin es verdadera. Si solo se tiene
dos ramificaciones se puede omitir, desde luego, la porcin correspondiente a
elseif.
En ambos lazos, la expresin es generalmente el resultado de utilizar los
operadores relacionales:
<
>
==
&
/
~
menor que
mayor que
igual a
and
or
negacin lgica
<=
menor o igual que
>=
mayor o igual que
~=
diferente de
&&
and breve:
//
or breve
xor(A,B)
or exclusivo
5
for
variable = inicio:incrementos:fin
Instrucciones
end
El lazo for repite un grupo de instrucciones un numero predeterminado de veces
definido por la particin de la variable. Por ejemplo, sea la particin i = 1 : 0.1 : 5.
Significa que las instrucciones se ejecutaran mientras la variable i vari entre 1 y 5
en pasos de 0.1.
switch case. La forma general de esta estructura es:
switch n
case 1
Instrucciones
case 2
Instrucciones
Otherwise
Instrucciones
end
La estructura switch case ejecuta las instrucciones correspondientes al caso
indicado por el valor asignado a switch (n), si el valor no corresponde a los
especificados para cada caso, se ejecuta el grupo d instrucciones indicado en
otherwise.
break. Esta instruccin permite salir de un lazo while o for.
1.2.5.
Script.-
1.2.6.
Funciones y subfunciones.-
6
Las funciones permiten definir funciones enteramente anlogas a las de
MATLAB, con su nombre, sus argumentos y sus valores de retorno. Los
ficheros *.m que definen funciones permiten extender las posibilidades de
MATLAB; de hecho existen bibliotecas de ficheros *.m que se venden (toolkits) o
se distribuyen gratuitamente (a travs de Internet). Las funciones definidas en
ficheros *.m se caracterizan porque la primera lnea (que no sea un comentario)
comienza por la palabra function, seguida por los valores de retorno (entre
corchetes [ ] y separados por comas, si hay mas de uno), el signo igual (=) y el
nombre de la funcin, seguido de los argumentos (entre parntesis y separados
por comas).
function [lista de valores de retorno] = name (lista de argumentos)
nota: name es el nombre de la funcin dentro del archivo name.m
la lista de valores de retorno y/o argumentos pueden no ir.
Ejemplo: Realizar una funcin que halle el valor mximo y el valor mnimo de un
vector de cualquier longitud.
1.3.
Trabajo preparatorio.-
1.4.
Parte Experimental.-
8
1
5
7
3
2
2
4
8
4
3
3
B
4
2
2
5
8
7
3
1
b. A(2,)
f. A(:,:)
g. A(2:4)=[ ]
k. zeros(size(A))
c. A(:,2:3)
d. A(:,1:2:3)
h. ones(3,3)
l. Rand(size(A))
e. B=[A,[ones(1,2);eye(2)]]
i. eye(3)
j. diag(A)
m. Magic(length(A))
a).-
b).-
t 1
con 7 t 7
t2 4
Los vectores deberan tener al menos 300 puntos para su graficacin.
y (t )
1 sen 2 (t )
,
t
1
y (t ) sen
t
z (t )
1.5.
Informe.-
Realice un programa que cuente con dos opciones, la primera que permita introducir
un vector de n elementos (debe preguntarse al usuario), y realice la media aritmtica
y la desviacin media de los elementos. Adems debe crearse otro vector con los
mismos elementos pero ordenados. La segunda opcin debe realizar una bsqueda
en el vector anterior (el usuario debe ingresar el valor a buscar), pero primero debe
verificarse si ya se introdujeron los elementos. En caso que exista uno o ms
elementos iguales, debe tenerse como resultado el ndice del mismo. Si no existe el
valor a buscar debe verse un mensaje que advierta de este suceso.
1.6.
Bibliografa.-