Professional Documents
Culture Documents
Procesamiento
digital de
imgenes
Introduccin a MATLAB
2012 Cinvestav-Tamaulipas
30-08-2012
CONTENIDO
1. Introduccin
2. Ambiente de desarrollo
3. Operadores y funciones bsicas
4. Vectores y matrices
5. Operaciones relacionales y lgicas
6. Grficos 2D y 3D
7. Lectura y despliegue de imgenes
8. Programacin
9. M-archivos
10.Interfaz grfica de usuario
INTRODUCCIN
INTRODUCCIN
SISTEMA
OPERATIVO
MATLAB
IDE
32
TOOLBOXES
AMBIENTE DE DESARROLLO
Abrir editor
Variables de trabajo
Carpeta actual
Ventana de comandos
Detalles de archivos
Historial de comandos
EDITOR/DEBUGGER
Archivo .m
Debug
Ejecutar
Cdigo
Comentarios
EDITOR/DEBUGGER
Set/Clear breakingpoint: Coloca o borra un punto de ruptura
en la lnea en que est colocado el cursor.
Clear all breakingpoints: Borra todos los puntos de ruptura.
Step: Avanza un paso en el programa.
Step in: Avanza un paso en el programa y si en ese paso se llama a
una funcin, entra en dicha funcin.
Step out: Avanza un paso en el programa y si en ese paso se llama
a una funcin, entra en dicha funcin.
Continue: Continua ejecutando hasta el siguiente punto de
ruptura.
Quit debugging: Termina la ejecucin del debugger.
AYUDA
El comando help seguido del nombre de
la funcin deseada despliega en la ventana
de comandos el manual de ayuda de dicha
funcin.
Tambin, existe
una interfaz grfica que
documentacin de cada toolbox.
proporciona
la
OPERADORES Y FUNCIONES
Smbolo
Expresin
Suma
a + b
Multiplicacin
Divisin
a b
Resta
Potencia
a b
a / b
a ^ b
OPERADORES Y FUNCIONES
MATLAB no toma en cuenta los espacios entre las
variables y los operadores.
Si no se desea retornar en la ventana de comandos
el resultado de la evaluacin de una operacin o
funcin se escribe (;) al final de la sentencia.
Si la sentencia es demasiada larga para
visualizarse en una sola lnea, se puede agregar
(...) seguido de la tecla para indicar que
contina en la lnea siguiente.
10
OPERADORES Y FUNCIONES
Variable
Definicin
ans
pi
eps
inf
Infinito
nan
Magnitud no numrica
i, j
Valor
3.1416
2.2204e-16
Inf
NaN
i=j=
0 + 1.0000i
realmin
2.2251e-308
realmax
1.7977e+308
11
OPERADORES Y FUNCIONES
Definicin
Ejemplo
x=5.92
floor(x)
round(x)
fix(x)
12
OPERADORES Y FUNCIONES
Definicin
abs(x)
Valor absoluto
exp(x)
Exponencial
sign(x)
gcd(m,n)
lcm(m,n)
log(x)
log2(x)
log10(x)
mod(x,y)
rem(x,y)
sqrt(x)
13
OPERADORES Y FUNCIONES
complex(y,z)
conj(x)
imag(x)
real(x)
isreal(x)
Definicin
Magnitud del nmero complejo x
14
OPERADORES Y FUNCIONES
Nombre
En grados
Funcin
Inversa
Hiperblica
Inversa
hiperblica
Funcin
Inversa
Seno
sin(x)
asin(x)
sinh(x)
asinh(x)
sind(x)
asind(x)
Coseno
cos(x)
acos(x)
cosh(x)
acosh(x)
cosd(x)
acosd(x)
Tangente
tan(x)
atan(x)
tanh(x)
atanh(x)
tand(x)
atand(x)
Cosecante
csc(x)
acsc(x)
csch(x)
acsch(x)
cscd(x)
acscd(x)
Secante
sec(x)
asec(x)
sech(x)
asech(x)
secd(x)
asecd(x)
Cotangente
cot(x)
acot(x)
coth(x)
acoth(x)
cotd(x)
acotd(x)
15
VECTORES Y MATRICES
Vectores y Matrices
Para crear un vector se introducen los valores separados por
espacios o comas, todo ello entre corchetes.
Para crear una matriz, se hace de forma anloga al vector pero
separando las filas por (;).
x=[5,7,-2,4,-6,9];
%Crea un vector x
y=[1 2 3;4 5 6;7 8 9]; %Crea una matriz y
Direccionamiento de vectores
Para acceder a los elementos individuales de un vector se utilizan
subndices de la forma x(n) que indica el n-simo elemento del
vector x.
Para acceder al elemento final simplemente se escribe x(end).
16
VECTORES Y MATRICES
Direccionamiento de vectores
Para acceder a un bloque de elementos a la vez se utiliza la
notacin (:), de modo que x(m:n) accede a todos los elementos
desde el m-simo hasta el n-simo del vector x.
Si se expresa x(m:k:n) se mostrarn los elementos del m-simo
hasta el n-simo con incrementos de k.
x=[5,7,-2,4,-6,9]
x(2) 7
x(end) 9
x(2:4) 7 -2 4
x(1:2:end-1) 5 -2 -6
x([3 5 1]) -2 -6 5
%
%
%
%
%
Obtiene
Obtiene
Obtiene
Obtiene
Obtiene
el segundo elemento
el elemento final
un bloque de elementos
un bloque con pasos
elementos especficos
17
VECTORES Y MATRICES
Direccionamiento de matrices
Para acceder a los elementos de una matriz se debe indicar la fila
m y la columna n del elemento de inters X(m,n).
Si se desea obtener los elementos de toda una fila m se usan (:)
como X(m,:).
Anlogamente, si se desea obtener los elementos de toda una
columna n se escribe X(:,n).
y(3,2) 8
y(1,:) 1
y(:,end)
y(2,[1:2])
y([3 1],3)
2
3
3
6 9
4 5
9 3
18
VECTORES Y MATRICES
Direccionamiento de matrices
Tambin se puede acceder a cada elemento
de una matriz utilizando un nico ndice, de
modo que el orden de ndices en MATLAB
est definido de la siguiente forma (e.g. 44):
y=[8 18 19 3;
5 17 11 8;
9
5 16 4;
27 26 13 6]
13
11
15
10
12
y(5) 18
y(end) 6
y(4:7) 27 18 17 7
y(1:3:end) 1 27 5
y([15 9 3]) 4 19 9 11 3 6
14
16
19
VECTORES Y MATRICES
Definicin
(a:b)
(a:c:b)
linspace(a,b,c)
logspace(a,b,c)
20
VECTORES Y MATRICES
mn
nn
zeros(m,n)
zeros(n)
ones(m,n)
ones(n)
rand(m,n)
rand(n)
randn(m,n)
randn(n)
eye(m,n)
eye(n)
----
magic(n)
21
VECTORES Y MATRICES
Expresin
Definicin
A + B
Suma de matrices
A B
Resta de matrices
A B
Multiplicacin matricial
A . B
Multiplicacin puntual
A / B
./
A ./ B
A \ B
.\
A .\ B
A ^ n
.^
A .^ B
'
A'
22
VECTORES Y MATRICES
diag(A)
eig(A)
inv(A)
pinv(A)
length(A)
orth(A)
size(A)
trace(A)
tril(A)
triu(A)
Definicin
Determinante
Extrae la diagonal de la matriz como un vector columna
Valores propios
Inversa de la matriz
Pseudoinversa de la matriz
Mxima dimensin
Ortogonalizacin
Dimensiones de la matriz
Suma de la diagonal de la matriz
Matriz triangular inferior a partir de la matriz A
23
VECTORES Y MATRICES
fliplr(A)
Definicin
Devuelve los ndices de los elementos distintos de cero
Intercambia la matriz de izquierda a derecha
flipud(A)
rot90(A,n)
reshape(A,m,n)
exp,log,sqrt,...
24
VECTORES Y MATRICES
Anlisis de datos
Funcin
corrcoef(X)
cov(X)
cumsum(X)
diff(X)
max(X)
min(X)
mean(X)
median(X)
prod(X)
sum(X)
sort(X)
std(X)
var(X)
Definicin
Coeficientes de correlacin
Matriz de covarianzas
Suma acumulativa
Diferencia entre elementos adyacentes de X
Mximo
Mnimo
Media de los valores
Mediana de los valores
Producto de los elementos
Suma de los elementos
Ordena los valores en orden ascendente
Desviacin estndar de la muestra
Varianza de la muestra
25
HIPERMATRICES
MATLAB permite trabajar de una forma sencilla con matrices de
ms de dos dimensiones.
OPERACIONES RELACIONALES
Y LGICAS
<=
>
>=
==
~=
Significado
Menor que
Menor o igual que
Mayor que
Mayor o igual que
Igual a
Distinto de
Significado
AND
OR
NOT
26
OPERACIONES RELACIONALES
27
Y LGICAS
Funcin
xor(x,y)
Operacin OR-exclusiva
any(x)
all(x)
isnan(x)
isinf(x)
Significado
OPERACIONES RELACIONALES
Y LGICAS
2
3
4
5
>
<
>=
.^
./
<=
&
.\
==
~=
28
29
GRFICOS 2D
% Eje x
% Eje y
% Grfica
%
%
%
%
Eje x
Funcin 1
Funcin 2
Grfica
30
GRFICOS 2D
xlabel(texto)
ylabel(texto)
title(texto)
text(x,y, texto)
grid on / off
Definicin
Etiqueta sobre eje x del grfico actual
Etiqueta sobre eje y del grfico actual
Ttulo en la cabecera del grfico actual
Texto en un lugar especificado por las coordenadas
Activa/desactiva rejilla
Fija valores mximos y mnimos de los ejes
Escala de los ejes sea igual
axis square
hold on / off
axis normal
31
GRFICOS 2D
barh
hist
pie
rose
stairs
stem
loglog
semilogx
semilogy
Definicin
Colorea el rea bajo la curva
Diagrama de barras verticales
Diagrama de barras horizontales
Histograma
Diagrama de sectores
Histograma polar
Grfico de escalera
Secuencia de datos discretos
Escala logartmica en ambos ejes
Escala logartmica en eje x
Escala logartmica en eje y
Ejemplo
32
GRFICOS 2D
x = 0:0.01:1;
% Eje x
y = sin(2pix);
% Funcin 1
n = rand(1,length(x)); %Funcin 2
z = y+0.5n;
% Funcin 3
figure;
subplot(3,1,1); plot(x,y); % Grfico 1
subplot(3,1,2); plot(x,n); % Grfico 2
subplot(3,1,3); plot(x,z); % Grfico 3
33
GRFICOS 3D
x = -720:720;
y = sind(x);
z = cosd(x);
plot3(x,y,z);
34
GRFICOS 3D
Superficie de malla:
La funcin [X,Y]=meshgrid(x,y) crea una matriz X cuyas filas son
copias del vector x y una matriz Y cuyas columnas son copias del
vector y.
Para generar un grfico de malla se usa la funcin mesh(X,Y,Z).
x = -10:0.5:10;
y = x;
[X,Y] = meshgrid(x,y);
%Puntos de la malla
Z = sin(sqrt(X.^2+Y.^2))./...
sqrt(X.^2+Y.^2+0.1); %Evalua cada punto de la malla
mesh(X,Y,Z);
35
GRFICOS 3D
x = -10:0.5:10;
y = x;
[X,Y] = meshgrid(x,y);
%Puntos de la malla
Z = sin(sqrt(X.^2+Y.^2))./...
sqrt(X.^2+Y.^2+0.1); %Evalua cada punto de la malla
surf(X,Y,Z);
shading interp; % Sombreado interpolado
36
PROPIEDADES DE LOS
GRFICOS
Variable
predefinida
RGB
[0 0 0]
[1 0 0]
w
g
b
y
m
plot(x,y,k,LineWidth,3)
[1 1 1]
[0 1 0]
[0 0 1]
[1 1 0]
[1 0 1]
plot(x,y,r,LineWidth,1)
37
PROPIEDADES DE LOS
GRFICOS
Colores
Jet
HSV
Hot
Cool
Spring
Summer
Autumn
Winter
Gray
Bone
Cooper
Pink
colormap(pink)
38
LECTURA DE IMGENES
39
PROGRAMACIN
ciclo puede definirse mediante las sentencias for
while de la siguiente forma:
Un
for k = inicio:fin
<orden>
<orden>
<orden>
end
while <condicin>
<orden>
<orden>
<orden>
end
for k = vector_columna
<orden>
<orden>
<orden>
end
40
PROGRAMACIN
sentencia break termina abruptamente la ejecucin
de un ciclo for while.
La
La
41
PROGRAMACIN
Un
<orden>
end
if <condicin>
<orden>
else
<orden>
end
if <condicin>
<orden>
elseif <condicin>
<orden>
elseif <condicin>
<orden>
elseif <condicin>
<orden>
else
<orden>
end
42
ARCHIVOS .M
43
INTERFACES DE USUARIO
QU ES GUIDE?
44
INICIALIZACIN
Barra de
herramientas
Ventana de
comandos
45
INICIALIZACIN
Plantilla en blanco
Plantillas de ejemplo
46
REA DE DISEO
Alinear
objetos
Editor
de Tab
Editor del
M-file
Editor de
atributos
Navegador
de objetos
Paleta de
objetos
Editor de
men
Editor de barra
de herramientas
Ejecutar
47
Atributos del
objeto
pushbutton
Atributos de
la plantilla en
blanco
48
49
50
51
REFERENCIAS