Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin a Matlab
Prctica 1:
Introduccin a
Matlab
Prctica 1. Introduccin a Matlab
OBJETIVOS:
RESUMEN:
En esta prctica se introducir al alumno en la herramienta Matlab utilizndolo como programa de clculo
y visualizando los resultados obtenidos.
Al final de la prctica, el alumno deber de mostrar al profesor los Ejercicios propuestos resueltos y, si
procede, comentar los resultados obtenidos.
1. INTRODUCCIN:
Matlab es la abreviatura de Matrix Laboratory (laboratorio de matrices). Creado en 1984 por The
MathWorks, es un sotware de de clculo muy usado en universidades, centros de investigacin y por
ingenieros. En los ltimos aos ha incluido muchas ms capacidades, como la de programar directamente
procesadores digitales de seal, crear cdigo, etc.
A continuacin se muestran una serie de ejercicios guiados para permitir al alumno conocer y manejar la
interfaz de este programa, finalizando la prctica con una serie de ejercicios a resolver para aprobar la
prctica.
1.1 Interfaz:
Lnea de comando
Variables actuales
Historial de comandos
Bsicamente, existen dos formas de utilizar la ayuda de Matlab: a travs de la ayuda en lnea; o bien, a
travs del navegador de ayuda.
Por otro lado, para acceder a la ayuda a travs del navegador, es necesario seleccionar la opcin Matlab
help (Figura 2). Este segundo modo de ayuda resulta bastate ms potente y eficaz que la primera
aadiendo en muchos casos ejemplos de utilizacin.
Matlab no requiere ningn tipo de declaracin de variables sino que, una vez que se utiliza una variable,
Matlab crea la respectiva variable reservando el espacio de memoria necesario. Por tanto, si la variable ya
existe, Matlab nicamente cambia su contenido.
En lo que se refiere a la nomenclatura de las variables. Matlab distingue entre maysculas y minsculas
(Variable es distinto de variable) permitiendo nombres de variables que contengan al menos una letra.
En Matlab, una variable consiste en una matriz de las dimensiones correspondientes. En cuanto al tipo de
variables a utilizar puede ser: entero, real, complejo, carcter, etc., y al igual que en la definicin, Matlab
lo asigna de forma automtica.
Smbolo Operacin
+ Suma
- Resta
* Multiplicacin
/ Divisin (2/1 = 2)
\ Divisin en sentido
contrario (2\1 = 0.5)
^ Potencia
Transpuesta
() Parntesis
Prctica 1. Introduccin a Matlab
>> a = 5
a=
5
>> a = a*a
a=
25
>> A = 7
A=
7
>> B = [1 2 3; 4 5 6; 7 8 9]
B=
1 2 3
4 5 6
7 8 9
Comprobar el estado de una variable: para comprobar el valor de una variable se puede, bien
mirar en la parte superior izquierda dedicada a las variables activas (Fig. 1), bien introduciendo
su nombre.
>> B
B=
1 2 3
4 5 6
7 8 9
>> clear B
>> clear all %elimina todas las variables
>> B(1,2)
ans =
ans =
1
4
7
ans =
1 2 3
>> B(1:2,1)
ans =
1
4
>> B(4,1) = -1
B=
1 2 3
4 5 6
7 8 9
-1 0 0
Producto escalar:
>> A = [1 2;3 4]
A=
1 2
3 4
>> B = [4 3; 2 1]
B=
4 3
2 1
>> A(1,1)*B(1,1)
ans =
4
Producto matricial:
>> A*B
Prctica 1. Introduccin a Matlab
ans =
8 5
20 13
Matlab proporciona una serie de funciones matemticas bsicas adems de funciones ms complejas.
Como ejemplo de funciones aritmticas bsicas tenemos:
Destacar que el nombre de las funciones definidas en matlab no puede ser utilizadas como nombres de
variables.
La sintaxis de las sentencias de control utilizadas dentro del entorno de Matlab es la siguiente:
Bucles:
FOR
Ejemplo:
ans =
hola mundo
ans =
hola mundo
Prctica 1. Introduccin a Matlab
ans =
hola mundo
WHILE
Ejemplo:
>> i = 1;
while i < 3
display('hola mundo')
i = i+1;
end
ans =
hola mundo
ans =
hola mundo
IF
if expresion
sentencias
end
Ejemplo:
>> a
a=
1
>> b
b=
1
>> if (a==b)
display('hola mundo')
end
ans =
hola mundo
Prctica 1. Introduccin a Matlab
vector = [inicio_vector:incremento:fin_vector]
Ejemplo:
>> t = [0:0.1:10] % De esta forma definimos un vector t que va desde 0 hasta 10 con un
% incremento de 0.1
t=
Columns 1 through 8
Para obtener la representacin grfica de un dato normalmente se utiliza la funcin plot. Esta funcin
tiene la siguiente nomenclatura:
>> a = 0:0.1:4*pi
>> plot(a,sin(a))
>> a = 0:0.1:4*pi
>> plot(sin(a))
Ntese que en este caso la seal senoidal viene referenciada segn las posiciones del vector.
Si adems queremos mostrar varias seales en una misma grfica se utilizar la funcin hold on, que
hara que a partir de entonces todos los dibujos que se realicen aparezcan en la grfica activa. Este
comando slo funciona para la grfica que se ha ejecutado.
Por ltimo, para abrir una nueva grfica basta con escribir la funcin figure.
Como se vio anteriormente, la funcin display puede ser utilizada para mostrar un texto por pantalla. Sin
embargo, si se quiere mostrar un texto y adems el valor de una variable, se puede utilizar la funcin
sprintf. Esta funcin utiliza el estndar ANSI C.
Ejemplo:
>> a = 1
a=
1
>> sprintf('Valor de a: %d',a)
Prctica 1. Introduccin a Matlab
ans =
Valor de a: 1
Con Matlab tambin es posible crear nuestras propias funciones. Para ello se puede utilizar bien el editor
de texto de Matlab (Fig. 5) o bien cualquier otro editor de texto (bloc de notas, Wordpad).
Ejemplo:
a = inv(b);
Si guardamos el texto anterior en un fichero .m (con el mismo nombre de la funcin, es decir, inversa.m) y
lo ejecutamos para la matriz f tenemos:
>> f
f=
1 2
3 4
>> inversa(f)
ans =
-2.0000 1.0000
1.5000 -0.5000
Por defecto, Matlab trabaja con la carpeta C:\matlab\work e inicialmente todos los archivos que no se
encuentren en esa carpeta u otras que ya hayan sido configuradas no son reconocidas por el programa. De
ah que se recomiende al grupo de prcticas que se cree una carpeta dentro de C:\matlab\work, que la
active para que la reconozca Matlab, y que a partir de entonces todos los archivos sobre los que trabaje se
encuentre dentro de esta carpeta.
2 Ejercicios Propuestos.
Nota: Para la realizacin de los ejercicios es necesario crear una carpeta de trabajo dentro de
C:\matlab\work y activarla por parte de matlab.
2.1 Ejercicio 1.
Crear dos vectores incrementales (a,b) desde 0 a 100 con un incremento de 0.1 y 1 respectivamente y
visualizar el seno de los dos vectores en una misma grfica.
Crear una nueva figura en la que se visualice el seno de los mismos vectores pero poniendo el propio
vector (a b segn corresponda) como eje de coordenadas.
Nota: utilizando la ayuda de matlab, investigar las propiedades de la funcin plot (help plot) para dibujar
las seales con distintos colores y propiedades. Ntese que las propiedades han de ir incluidas entre
comillas simples.
2.2 Ejercicio 2.
Crear una funcin .m llamada servidor_fecha que tenga como parmetros de entrada una variable que
representar un cdigo. Si este cdigo corresponde con el que nosotros hemos definido, mostrar por
pantalla la fecha y la hora actual; en caso de no corresponder, mostrar un texto que indique que el cdigo
introducido no es correcto.
Para obtener la fecha y hora, utilizar la funcin clock. Esta funcin devuelve un vector de seis
componentes donde cada celda corresponde a un dato (ver ayuda para obtener correspondencias).
Nota1: utilizar las funciones sprintf cuando queramos mostrar texto+dato y display cuando slo
texto.
Nota2: para hacer comparaciones con el if, se utilizan dos iguales (==).