Professional Documents
Culture Documents
TALLER DE COMPUTO
INTRODUCCION
MATLAB es un ambiente de cómputo técnico para el cálculo numérico de alto rendimiento con capacidad de
visualización, el cual fué desarrollado por la empresa The MATH WORKS Inc. MATLAB integra análisis
numérico, cálculo matricial, procesamiento de señales y gráficas.
MATLAB toma su nombre de MATrix LABoratory (laboratorio de matrices), pues originalmente fué creado
como un auxiliar en la programación de cálculo matricial, por lo que el elemento básico de cálculo que maneja
es la matriz.
La versión estándar de MATLAB incorpora una gran variedad de comandos y funciones matemáticas de uso
general relacionadas con tópicos como Manipulación de Matrices, Funciones Trigonométricas, Funciones
Hiperbólicas, Algebra Lineal Numérica, Análisis de Datos, Interpolación, Graficación, Manejo de Archivos, etc.
Existen además paquetes opcionales de funciones especializadas en diversas áreas técnicas tales como Control,
Procesamiento de Señales, Lógica Difusa, Procesamiento de Imágenes, Redes Neurales, etc.
El presente escrito es una guia para el taller introductorio al uso de MATLAB para Windows, versión estándar, 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 cálculo 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 también puede obtenerse en
español el libro "MATLAB edición de estudiante, Versión 4, guía de usuario" de la editorial Prentice Hall el
cual contiene los discos de instalación de la versión estudiantil.
INICIO
Estando dentro de la plataforma operativa Windows la invocación 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 también comandos para obtener mayor
información: help, whatsnew, info, subscribe. A continuación de los comandos se muestra el símbolo que
indica la linea de entrada de órdenes o comandos:
Es en esta línea 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 tópicos en que MATLAB proporciona información de ayuda. Puede
consultarse también este tipo de información a través del menú Help de la barra de menús de la misma ventana
de comandos de MATLAB.
Nota: En los ejemplos presentados en esta guía se indicará del lado izquierdo y en letras resaltadas (negritas) los
comandos y operaciones que se proporcionan directamente en la línea de comandos de MATLAB y del lado
derecho se proporcionarán algunos comentarios relacionados con el comando.
OPERACIONES BASICAS
»75+12*(275/3)
ans=
Algunas otras operaciones básicas y los símbolos empleados por MATLAB para su uso son:
Cuando una linea de comando se termina con ";" el resultado que se generaría por la ejecución 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 lógicas, 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:
0
»
» (5>4) & ~(4>5) La operación relacional es "5 mayor que 4 y negación de 4 mayor
que 5". "&" es el símbolo para el operador lógico AND y "~" es el
símbolo para el operador lógico negación.
ans =
» (5>4) | (4>5) La operación relacional es "5 mayor que 4 ó 4 mayor que 5". "|" es el
símbolo para el operador lógico OR.
ans =
VARIABLES
En una operación pueden emplearse variables a las que previamente se les ha asignado algún valor. Las variables
se nombran comenzando con una letra y puede estar seguida de letras y números, existiendo diferencia entre
minúsculas y mayúsculas.
Por ejemplo:
75
»meses = 12
meses=
12
ans=
1175
Existe una manera de conocer todas las variables que se han asignado en una sesión de trabajo de MATLAB a
través del comando who:
»» who
y se obtiene mayor información 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 sesión 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 matemáticas, las cuáles operan al escribir el nombre de la
función seguidas inmediatamente, entre paréntesis, del operando, el cual puede ser un número 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 matemáticas elementales y
especializadas con que cuenta MATLAB, mientras que help seguido del nombre de una función en particular
muestra la forma en que la función debe utilizarse.
Por ejemplo:
» help sign
NUMEROS COMPLEJOS
Para trabajar con números complejos se emplea el caracter i o el caracter j para representar el número √-1 y se
realizan las operaciones deseadas de la misma manera que con números 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 números o variables que se agrupan bajo un sólo
nombre, permitiéndose de esta manera que una operación pueda ser realizada sobre todos los valores del vector
de manera simultánea, en lugar de realizar la operación a cada uno de los valores de manera manual e
independiente.
Se definen vectores del tipo fila o renglón y vectores del tipo columna, los cuáles varían 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 operación o función sobre un vector obteniéndose como resultado otro vector
de la misma longitud (igual número 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
»
» min(diasfila) La función min(x) proporciona el elemento del vector x cuyo
valor es el más pequeño de todo el vector
ans =
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 =
»
» c=2:.5:5; El rango de valores anterior se asigna a la variable c
» 2*c
ans =
4 5 6 7 8 9 10
»
La multiplicación y división entre vectores puede hacerse elemento a elemento o como operación 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 número 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 número consecutivo que lo identifica comenzando desde el número
1. El direccionamiento de uno o varios de los elementos de un vector se indica por medio de un paréntesis y el
número de elemento o el rango de elementos deseados.
Por ejemplo:
ans =
ans =
2 3 4
»
» d=b*a Se asigna la multiplicación vectorial b*a a la matriz d y se
despliegan sus valores
d=
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 través de help. Algunos conjuntos de funciones de este tipo se encuentran bajo las categorias:
Matrices Elementales y Manipulación de Matrices, Funciones Matriciales, Matrices Especializadas, etc.
GRAFICAS
La forma más sencilla de generar una gráfica dentro de MATLAB es a través del comando plot(x,y), en donde
x,y son un conjunto de puntos (abscisa,ordenada) a ser marcados en un plano. La graficación por omisión genera
lineas rectas entre los puntos marcados mostrando una gráfica contínua, característica que puede ser variada de
diversas maneras.
Por ejemplo:
los comandos:
Al utilizar este comando siempre se define de manera automática la escala de los ejes horizontal y vertical de
acuerdo a los valores mínimos y máximos de los puntos a graficar, parámetros que igualmente pueden cambiarse
por valores deseados.
El siguiente comando obliga a que MATLAB sólo marque unos pequeños círculos 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 círculo
El comando help plot muestra todas las posibilidades de uso de plot así como algunos comandos asociados a la
graficación 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 gráficas de barras y de escalera así
como la posibilidad de mostrar varias gráficas en una misma ventana. MATLAB tiene también la capacidad de
graficar en tercera dimensión y de emplear gráficas de malla y de superficie.
ARCHIVOS DE EJECUCION
MATLAB ejecuta un comando u operación directamente a través de la linea de comando, tal y como se ha
mostrado en los ejemplos anteriores, sin embargo un comando a ejecutar puede ser también 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 están almacenadas. El archivo puede tener
cualquier nombre pero debe tener el apellido m.
MATLAB posee un grupo de comandos para controlar el flujo de ejecución de un conjunto de instrucciones el
cual es especialmente util dentro de los archivos de ejecución, tal y como se emplean en los lenguajes de
programación. Estos comandos permiten construir tres tipos de estructuras: los lazos for, los lazos while y la
estructura if-else-end.
A continuación se presenta el listado de un archivo .m el cual genera los resultados mostrados en la gráfica
contígua.
% PROG1.M
%
% DEMOSTRACION DEL PROCESO DE MODULACION EN AMPLITUD DE DOBLE BANDA
% LATERAL Y PORTADORA SUPRIMIDA CON SEÑAL DE INFORMACION SENOIDAL
Sam=f.*Sp;
% Graficación de las señales en el dominio del tiempo y sus respectivos espectros de frecuencia
%
subplot(3,2,1); plot(t,f);
ylabel('amplitud'); xlabel('tiempo'); title('Señal Moduladora');
subplot(3,2,3); plot(t,Sp);
ylabel('amplitud'); xlabel('tiempo'); title('Señal Portadora');
subplot(3,2,5); plot(t,Sam);
ylabel('amplitud'); xlabel('tiempo'); title('Señal Modulada');
subplot(3,2,2); plot(f1,F);
ylabel('amplitud'); xlabel('frecuencia'); title('Señal Moduladora');
subplot(3,2,4); plot(f2,SP);
ylabel('amplitud'); xlabel('frecuencia'); title('Señal Portadora');
subplot(3,2,6); plot(f3,SAM);
ylabel('amplitud'); xlabel('frecuencia'); title('Señal Modulada');
end;
% PROG2.M
%
% DEMOSTRACION DEL USO DE ESTRUCTURAS 'FOR' E 'IF-ELSE'
% PARA LA GENERACION DE UNA SEÑAL MUESTREADA
end;
Además de los archivos de ejecución .m de la misma manera pueden definirse nuevas funciones de MATLAB
para ser utilizadas dentro de un archivo de ejecución o para ser procesadas directamente en la línea de comandos.
Se recomienda consultar la información indicada en la INTRODUCCION para conocer el procedimiento
adecuado para realizar esto.
SIMULINK
SIMULINK incluye una serie amplia de bloques de componentes básicos para la construcción de modelos de
sistemas, permite la creación de nuevos bloques por parte del usuario y ofrece la posibilidad de añadir librerías
opcionales de bloques de diversas areas de aplicación.