Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial Taller Matlab
Tutorial Taller Matlab
INTRODUCCION
MATLAB es un ambiente de cmputo tcnico para el clculo numrico de alto rendimiento con capacidad de
visualizacin, el cual fu desarrollado por la empresa The MATH WORKS Inc. MATLAB integra anlisis
numrico, clculo matricial, procesamiento de seales y grficas.
MATLAB toma su nombre de MATrix LABoratory (laboratorio de matrices), pues originalmente fu creado
como un auxiliar en la programacin de clculo matricial, por lo que el elemento bsico de clculo que maneja
es la matriz.
La versin estndar de MATLAB incorpora una gran variedad de comandos y funciones matemticas de uso
general relacionadas con tpicos como Manipulacin de Matrices, Funciones Trigonomtricas, Funciones
Hiperblicas, Algebra Lineal Numrica, Anlisis de Datos, Interpolacin, Graficacin, Manejo de Archivos, etc.
Existen adems paquetes opcionales de funciones especializadas en diversas reas tcnicas tales como Control,
Procesamiento de Seales, Lgica Difusa, Procesamiento de Imgenes, Redes Neurales, etc.
El presente escrito es una guia para el taller introductorio al uso de MATLAB para Windows, versin estndar,
y su objetivo es proporcionar los elementos esenciales para iniciarse en el uso de esta herramienta y facilitar su
estudio individual, por lo que no se presentan todas las posibilidades de clculo que MATLAB ofrece ni todas
las opciones de uso que esta plataforma brinda. Para un estudio a profundidad sobre el uso de esta herramienta
se recomienda consultar los manuales User's Guide y Reference Guide, as como tambin puede obtenerse en
espaol el libro "MATLAB edicin de estudiante, Versin 4, gua de usuario" de la editorial Prentice Hall el
cual contiene los discos de instalacin de la versin estudiantil.
INICIO
Estando dentro de la plataforma operativa Windows la invocacin de MATLAB presenta una ventana
denominada ventana de comandos en la que se muestran en la parte superior un listado de comandos para
iniciarse en el uso de la herramienta: intro, demo, help help, as como tambin comandos para obtener mayor
informacin: help, whatsnew, info, subscribe. A continuacin de los comandos se muestra el smbolo que
indica la linea de entrada de rdenes o comandos:
Es en esta lnea que se proporcionan los comandos a ser ejecutados inmediatamente por MATLAB, como los
listados anteriormente. Por ejemplo, el proporcionar el comando:
help Todos los comandos u operaciones deben terminarse con la tecla enter
para ser aceptados por MATLAB
mostrar un listado de los diferentes tpicos en que MATLAB proporciona informacin de ayuda. Puede
consultarse tambin este tipo de informacin a travs del men Help de la barra de mens de la misma ventana
de comandos de MATLAB.
Nota: En los ejemplos presentados en esta gua se indicar del lado izquierdo y en letras resaltadas (negritas) los
comandos y operaciones que se proporcionan directamente en la lnea de comandos de MATLAB y del lado
derecho se proporcionarn algunos comentarios relacionados con el comando.
OPERACIONES BASICAS
75+12*(275/3)
ans=
Algunas otras operaciones bsicas y los smbolos empleados por MATLAB para su uso son:
Cuando una linea de comando se termina con ";" el resultado que se generara por la ejecucin del comando no
es mostrado en pantalla. Pueden escribirse varias operaciones en una sola linea de comando siempre que estas se
separen por ","
Por ejemplo:
ans =
78
ans =
ans =
72
MATLAB permite operaciones relacionales y lgicas, considerando como resultado de este tipo de operaciones
nicamente dos valores: falso y verdadero. El falso corresponde a un 0 y el verdadero a un 1.
Por ejemplo:
(5>4) & ~(4>5) La operacin relacional es "5 mayor que 4 y negacin de 4 mayor
que 5". "&" es el smbolo para el operador lgico AND y "~" es el
smbolo para el operador lgico negacin.
ans =
(5>4) | (4>5) La operacin relacional es "5 mayor que 4 4 mayor que 5". "|" es el
smbolo para el operador lgico OR.
ans =
VARIABLES
En una operacin pueden emplearse variables a las que previamente se les ha asignado algn valor. Las
variables se nombran comenzando con una letra y puede estar seguida de letras y nmeros, existiendo diferencia
entre minsculas y maysculas.
Por ejemplo:
75
meses = 12
meses=
12
ans=
1175
Existe una manera de conocer todas las variables que se han asignado en una sesin de trabajo de MATLAB a
travs del comando who:
who
y se obtiene mayor informacin sobre las variables asignadas con el comando whos:
whos
Name Size Elements Bytes Density Complex
MESES 1 by 1 1 8 Full No
ans 1 by 1 1 8 Full No
dias 1 by 1 1 8 Full No
meses 1 by 1 1 8 Full No
Es posible borrar una o todas las variables empleadas, asimismo es posible almacenar en disco las variables con
las que se est trabajando (una, varias o todas) y recuperarlas en cualquier otra sesin de trabajo.
save ESTAS Todas las variables vigentes se almacenan en el disco bajo el nombre de
ESTAS
clear Se borran todas las variables vigentes y se comprueba que ya no existen
who
load ESTAS Se leen las variables almacenadas bajo el nombre ESTAS y se comprueba
su existencia
who
FUNCIONES MATEMATICAS
MATLAB incluye una gran cantidad de funciones matemticas, las cules operan al escribir el nombre de la
funcin seguidas inmediatamente, entre parntesis, del operando, el cual puede ser un nmero o una variable o
un conjunto de estas.
Por ejemplo:
ans =
ans =
Los comandos help elfun y help specfun muestran los nombres de las funciones matemticas elementales y
especializadas con que cuenta MATLAB, mientras que help seguido del nombre de una funcin en particular
muestra la forma en que la funcin debe utilizarse.
Por ejemplo:
help sign
NUMEROS COMPLEJOS
Para trabajar con nmeros complejos se emplea el caracter i o el caracter j para representar el nmero -1 y se
realizan las operaciones deseadas de la misma manera que con nmeros reales.
Por ejemplo:
numim =
3.0000 + 5.0000i
ans =
5.8310
ans =
ans =
9.0000 +15.0000i
VECTORES
Los vectores o arreglos de valores (arrays) son un conjunto de nmeros o variables que se agrupan bajo un slo
nombre, permitindose de esta manera que una operacin pueda ser realizada sobre todos los valores del vector
de manera simultnea, en lugar de realizar la operacin a cada uno de los valores de manera manual e
independiente.
Se definen vectores del tipo fila o rengln y vectores del tipo columna, los cules varan en la manera en que los
elementos del vector son acomodados.
Por ejemplo:
diasfila = [1 2 3 4 5 6 7] Los vectores fila se definen separando sus elementos por espacios
o por ","
diasfila =
1 2 3 4 5 6 7
diascol=[1; 2; 3; 4; 5; 6; 7] Los vectores columna se definen separando sus elementos por ";"
diascol =
1
2
3
4
5
6
7
Se puede realizar cualquier tipo de operacin o funcin sobre un vector obtenindose como resultado otro vector
de la misma longitud (igual nmero de elementos) cuyos elementos corresponden al resultado operado sobre
cada uno de los elementos del vector operando.
Por ejemplo:
ans =
2 4 6 8 10 12 14
0.4401
0.5767
0.3391
-0.0660
-0.3276
-0.2767
-0.0047
Es posible definir un rango de valores para ser asignados a un vector. El rango de valores se define
especificando un valor inicial, un valor de incremento y un valor final, separados todos ellos por ":", por
ejemplo:
ans =
ans =
4 5 6 7 8 9 10
La multiplicacin y divisin entre vectores puede hacerse elemento a elemento o como operacin matricial. En
el primer caso los vectores operandos deben ser de la misma longitud y el resultado es un vector con igual
longitud. En el segundo caso los vectores pueden ser de longitud diferente, uno de ellos debe ser vector fila y el
otro vector columna y el resultado es una matriz con nmero de filas y columnas dependiendo de la longitud de
cada vector operando.
Por ejemplo:
a=
1 2 3 4 5
b=
6
7
8
b' El operador " ' " convierte un vector fila a columna y viceversa
ans =
6 7 8
36
49
64
6 12 18 24 30
7 14 21 28 35
8 16 24 32 40
Dentro de un vector cada elemento tiene un nmero consecutivo que lo identifica comenzando desde el nmero
1. El direccionamiento de uno o varios de los elementos de un vector se indica por medio de un parntesis y el
nmero de elemento o el rango de elementos deseados.
Por ejemplo:
ans =
ans =
2 3 4
6 12 18 24 30
7 14 21 28 35
8 16 24 32 40
18 24 30
21 28 35
En MATLAB existen muchas funciones que operan sobre vectores y sobre matrices cuyas definiciones pueden
consultarse a travs de help. Algunos conjuntos de funciones de este tipo se encuentran bajo las categorias:
Matrices Elementales y Manipulacin de Matrices, Funciones Matriciales, Matrices Especializadas, etc.
GRAFICAS
La forma ms sencilla de generar una grfica dentro de MATLAB es a travs del comando plot(x,y), en donde
x,y son un conjunto de puntos (abscisa,ordenada) a ser marcados en un plano. La graficacin por omisin genera
lineas rectas entre los puntos marcados mostrando una grfica contnua, caracterstica que puede ser variada de
diversas maneras.
Por ejemplo:
los comandos:
Al utilizar este comando siempre se define de manera automtica la escala de los ejes horizontal y vertical de
acuerdo a los valores mnimos y mximos de los puntos a graficar, parmetros que igualmente pueden
cambiarse por valores deseados.
El siguiente comando obliga a que MATLAB slo marque unos pequeos crculos en los puntos a graficar, sin
unirlos con lineas rectas:
plot(dias, bolsa,'o') El caracter 'o' indica que los puntos se marquen con un crculo
El comando help plot muestra todas las posibilidades de uso de plot as como algunos comandos asociados a la
graficacin como SEMILOGX, SEMILOGY, LOGLOG, GRID, CLF, CLC, TITLE, XLABEL,
YLABEL, AXIS, AXES, HOLD y SUBPLOT.
Otras formas de graficar en un plano dentro de MATLAB incluyen el tipo de grficas de barras y de escalera as
como la posibilidad de mostrar varias grficas en una misma ventana. MATLAB tiene tambin la capacidad de
graficar en tercera dimensin y de emplear grficas de malla y de superficie.
ARCHIVOS DE EJECUCION
MATLAB ejecuta un comando u operacin directamente a travs de la linea de comando, tal y como se ha
mostrado en los ejemplos anteriores, sin embargo un comando a ejecutar puede ser tambin el nombre de un
archivo que contenga una secuencia de operaciones y comandos que se desean sean procesadas en conjunto.
Esto tiene como ventaja el no tener que escribir cada vez todas las instrucciones que se desean ejecutar en varias
ocasiones, sino que simplemente se invoca el archivo en donde ya estn almacenadas. El archivo puede tener
cualquier nombre pero debe tener el apellido m.
MATLAB posee un grupo de comandos para controlar el flujo de ejecucin de un conjunto de instrucciones el
cual es especialmente util dentro de los archivos de ejecucin, tal y como se emplean en los lenguajes de
programacin. Estos comandos permiten construir tres tipos de estructuras: los lazos for, los lazos while y la
estructura if-else-end.
A continuacin se presenta el listado de un archivo .m el cual genera los resultados mostrados en la grfica
contgua.
% PROG1.M
%
% DEMOSTRACION DEL PROCESO DE MODULACION EN AMPLITUD DE DOBLE BANDA
% LATERAL Y PORTADORA SUPRIMIDA CON SEAL DE INFORMACION SENOIDAL
% Graficacin de las seales en el dominio del tiempo y sus respectivos espectros de frecuencia
%
subplot(3,2,1); plot(t,f);
ylabel('amplitud'); xlabel('tiempo'); title('Seal Moduladora');
subplot(3,2,3); plot(t,Sp);
ylabel('amplitud'); xlabel('tiempo'); title('Seal Portadora');
subplot(3,2,5); plot(t,Sam);
ylabel('amplitud'); xlabel('tiempo'); title('Seal Modulada');
subplot(3,2,2); plot(f1,F);
ylabel('amplitud'); xlabel('frecuencia'); title('Seal Moduladora');
subplot(3,2,4); plot(f2,SP);
ylabel('amplitud'); xlabel('frecuencia'); title('Seal Portadora');
subplot(3,2,6); plot(f3,SAM);
ylabel('amplitud'); xlabel('frecuencia'); title('Seal Modulada');
end;
% PROG2.M
%
% DEMOSTRACION DEL USO DE ESTRUCTURAS 'FOR' E 'IF-ELSE'
% PARA LA GENERACION DE UNA SEAL MUESTREADA
end;
Adems de los archivos de ejecucin .m de la misma manera pueden definirse nuevas funciones de MATLAB
para ser utilizadas dentro de un archivo de ejecucin o para ser procesadas directamente en la lnea de
comandos. Se recomienda consultar la informacin indicada en la INTRODUCCION para conocer el
procedimiento adecuado para realizar esto.
SIMULINK
SIMULINK incluye una serie amplia de bloques de componentes bsicos para la construccin de modelos de
sistemas, permite la creacin de nuevos bloques por parte del usuario y ofrece la posibilidad de aadir libreras
opcionales de bloques de diversas areas de aplicacin.