Publicado el 15 de Marzo del 2020
1.059 visualizaciones desde el 15 de Marzo del 2020
282,7 KB
14 paginas
Creado hace 18a (09/10/2006)
Introducción a Matlab.
Ejercicios básicos de manipulación
de imágenes.
Departamento de Ingeniería electrónica, Telecomunicación y Automática.
Área de Ingeniería de Sistemas y Automática
Práctica 1ª. Introducción a Matlab
OBJETIVOS:
•
Iniciación en la utilización de la herramienta Matlab. Algunos ejemplos de la utilización de la
toolbox de procesado de imagen.
RESUMEN:
Se realizará una breve introducción del programa Matlab. Es imprescindible familiarizarse con esta
herramienta a la hora de utilizar una de sus “Toolboxes”, en concreto se trabajará con la toolbox de
procesado de imagen.
1. INTRODUCCIÓN:
Matlab es la abreviatura de Matrix Laboratory (laboratorio de matrices). Creado en 1984 por The
MathWorks, es un software de cálculo muy usado en universidades, centros de investigación y por
ingenieros. En los últimos años ha incluido muchas más capacidades, como la de programar directamente
procesadores digitales de señal, crear código, etc.
A continuación se muestran una serie de ejercicios “guiados” para permitir al alumno conocer y manejar la
interfaz de este programa.
1.1 Interfaz:
Historial de comandos
Historial de comandos
Línea de comando
Línea de comando
Variables actuales
Variables actuales
Figura 1. Interfaz de Matlab.
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
1.2 Ayuda de Matlab.
Básicamente, existen dos formas de utilizar la ayuda de Matlab: a través de la ayuda en línea; o bien, a
través del navegador de ayuda.
Para acceder a la ayuda en línea basta con teclear en la línea de comandos:
>> help funcion
donde “funcion” sería el nombre de la función sobre la que necesitamos la ayuda.
Por otro lado, para acceder a la ayuda a través del navegador, es necesario seleccionar la opción “Matlab
help” (Figura 2). Este segundo modo de ayuda resulta bastate más potente y eficaz que la primera
añadiendo en muchos casos ejemplos de utilización.
Figura 2. Menú de ayuda
1.3 Variables y matrices.
Matlab no requiere ningún tipo de declaración 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 mayúsculas y minúsculas
(“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, carácter, etc., y al igual que en la definición, Matlab
lo asigna de forma automática.
Los operadores aritméticos básicos son:
Símbolo
+
-
*
/
\
^
‘
()
Operación
Suma
Resta
Multiplicación
División (2/1 = 2)
División
contrario (2\1 = 0.5)
Potencia
Transpuesta
Paréntesis
en
sentido
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
Ejemplo de utilización de una variable:
>> a = 5
a =
5
>> a = a*a
a =
25
1.4 Operar con variables.
• Definir una variable:
>> A = 7
A =
7
• Definir una matriz:
>> 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
• Eliminar una variable de memoria:
>> clear B
>> clear all %elimina todas las variables
• Acceder a un elemento de una matriz: tomando la matriz B, queremos acceder al valor de la
posición (1,2).
>> B(1,2)
ans =
2
Nótese que “ans” equivale a la respuesta (del inglés “answer”).
• Acceder a todos los elementos de una fila o columna:
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
>> B(:,1) % Para obtener todos los elementos de la columna 1.
ans =
1
4
7
>> B(1,:) % Para obtener todos los elementos de la fila 1.
ans =
1 2 3
• Mostrar componentes consecutivos (p.ej.: del 1 al 2 de la columna 1):
• Añadir elementos a una matriz:
>> 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
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
ans =
8 5
20 13
1.5 Funciones especiales.
Matlab proporciona una serie de funciones matemáticas básicas además de funciones más complejas.
Como ejemplo de funciones aritméticas básicas tenemos:
abs() % proporciona el valor absoluto de un numero.
cos() % coseno.
sin() % seno.
sqrt() % cálculo de la raíz cuadrada.
inv () % calcula la inversa de una matriz.
•
•
•
•
•
• …
Y como ejemplo de otras funciones tenemos:
• clock %Muestra, en un vector de seis componentes, la fecha y hora completa.
• display (‘ ‘) %Muestra el texto introducido por pantalla.
Destacar que el nombre de las funciones definidas en matlab no puede ser utilizadas como nombres de
variables.
1.6 Sentencias de Control.
La sintaxis de las sentencias de control utilizadas dentro del entorno de Matlab es la siguiente:
Bucles:
• FOR
Ejemplo:
for variable = valor_inicial:valor_final
end
sentencias
…
>> for i=1:3
display('hola mundo')
end
ans =
hola mundo
ans =
hola mundo
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
ans =
hola mundo
• WHILE
while variable expresion
end
sentencias
…
Ejemplo:
>> i = 1;
while i < 3
display('hola mundo')
i = i+1;
end
ans =
hola mundo
ans =
hola mundo
•
IF
if expresion
end
sentencias
Ejemplo:
>> a
a =
1
>> b
b =
1
>> if (a==b)
display('hola mundo')
end
ans =
hola mundo
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
1.6 Algunas sentencias especiales.
1.6.1 Definición de un vector de términos crecientes o decrecientes.
Para definir un vector de términos crecientes o decrecientes se utiliza la siguiente nomenclatura:
vector = [inicio_vector:incremento:fin_vector]
Ejemplo:
% incremento de 0.1
>> t = [0:0.1:10] % De esta forma definimos un vector t que va desde 0 hasta 10 con un
t =
Columns 1 through 8
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000
1.6.2. Representación gráfica.
Para obtener la representación gráfica de un dato normalmente se utiliza la función “plot”. Esta función
tiene la siguiente nomenclatura:
• plot (x,y) % dibuja el vector y (abcisas) frente al vector x (coordenadas).
Ejemplo: Si introducimos las siguientes instrucciones aparecerá la siguiente gráfica:
>> a = 0:0.1:4*pi
>> plot(a,sin(a))
Figura 3. Representación de una señal senoidal
Área de Ingeniería de Sistemas y Automática. Curso 2005/2006
Práctica 1ª. Introducción a Matlab
• plot(y) % dibuja el vector y en la abcisas mientra en las coordenadas representa el
% índice del vector.
Ejemplo: Si introducimos las siguientes instrucciones aparecerá la siguiente gráfica:
>> a = 0:0.1:4*pi
>> plot(sin(a))
Figura 4. Representación de una señal senoidal
Nótese que en este caso la señal senoidal viene referenciada según las posiciones del vector.
Si además queremos mostrar varias señales en una misma gráfica se utilizará la función “hold on”, que
haría que a partir de entonces todos los dibujos que se realicen aparezcan en la gráfica activa. Este
comando sólo funciona para la gráfica que se ha ejecutado.
Por último, para abrir una nueva gráfica basta con escribir la función “figure”.
1.6.3. M
Comentarios de: Introducción a Matlab - Ejercicios básicos de manipulación de imágenes (0)
No hay comentarios