utp pdiva_lab2 mat_lab basico
TRANSCRIPT
Procesamiento de Imágenes y Visión Artificial
(PS02)
Facultad de Ingeniería Electrónica y Mecatrónica
Laboratorio: 2
Ing. José C. Benítez P.
MatLab básico
Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P. 2
Laboratorio 2. Temas
MatLab básico• Objetivo
• Introducción
• Fundamentos
• Guardando el workspace
• Matrices
• Aritmética matricial
• Funciones Matriciales
• Gráficos
• Funciones y scripts
Objetivo
• Afianzar los conocimientos de
los alumnos en el uso de la
herramienta de calculo
matricial, MatLab.
• Al terminar el laboratorio el
alumno será capaz de
demostrar destrezas en el uso
de las funcionalidades básicas
necesarias para Procesamiento
Digital de Señales
3Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
Introducción
4Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
• Matlab comenzó como el programa “MATrix LABoratory”
que pretendía crear un acceso interactivo y poderoso a las
bibliotecas Linpack y Eispack. Estas son paquetes de
programación sumamente poderosos para la solución de
ecuaciones lineales y problemas de eigenvalores.
• El objetivo de MatLab es el de permitir a estudiantes,
científicos e ingenieros el uso de técnicas basadas en el
álgebra lineal (matrices) para la solución de problemas,
usando lo más novedoso en programación, sin tener que
escribir programas en los lenguajes tradicionales como C.
Introducción
5Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
• Nuevas funciones han sido añadidas conforme el tiempo
ha pasado permitiendo en la actualidad tener funciones
específicas para muy diversas áreas del conocimiento
humano. Tal es así que tiene una Caja de herramientas
(Toolbox) para Procesamiento Digital de Señales.
• MatLab se encuentra desarrollado para diversas
plataformas de cómputo, desde computadoras personales
PC hasta Macintosh, Sun y SG; y para diversos sistemas
operativos; Windows, Linux, OSX, Solaris, etc..
Fundamentos. Ejercicio 1
6Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>>
>> quit
>> 2+3
>> 3*4,4^2
>> 2+3*4^2
>> 2+3*4^2/2
>> (2+3*4^2)/2
>> x = 3
>> y = x^2
>> y/x
>> ans, z=2*ans, ans
>> who, whos
Ejecute en la ventana de comandos
las siguientes expresiones y luego
en un archivo M-File comentar cada
uno de las expresiones ingresadas.
Fundamentos. Ejercicio 1
7Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> a=sqrt(2)
>> format long, b=sqrt(2)
>> a-b
>> format short
>> help
>> help general
>> lookfor
>> helpwin
Guardando el Workspace. Ejercicio 2
8Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> diary lab2.txt
>> save x.value x –ascii
>> save milab2
>> load milab2
Existen además otros archivos que utiliza Matlab:
• Unos son los archivos M-file del tipo ”archivo.m” que son
archivos de texto que contienen funciones; éstos son editables
y ejecutables.
• Los otros son los archivos ”archivos.mex” que son funciones
sólo ejecutables y se encuentran en código de máquina.
• Otros son los archivos ”archivos.mat” que son archivos que
contienen lo realizado en una sesión con MatLab.
Ejecute en la ventana de comandos
las siguientes expresiones y luego
en un archivo M-File comentar cada
uno de las expresiones ingresadas.
Matrices. Ejercicio 3
9Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> a = [1,2,3; 4,5,6]
>> a(1,2), a(2,3)
>> a(2,3) = 10
>> a’
>> b=[1+i 2 + 2*i 3 - 3*i], b’
>> [a; a; a]
>> [a, a, a]
>> b=b’
>> c = [a; 7,8,9]
>> [a’, b]
>> [ [a; a; a], [b; b] ]
Ejecute en la ventana de comandos
las siguientes expresiones y luego
en un archivo M-File comentar cada
uno de las expresiones ingresadas.
Matrices. Ejercicio 4
10Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> rand(1,3), rand(2)
>> zeros(3)
>> ones(3,2)
>> eye(3), eye(2,3)
>> magic(3)
>> hilb(5)
>> s = zeros(20,25);
>> help elmat
>> help specmat
Ejecute en la ventana de comandos
las siguientes expresiones y luego
en un archivo M-File comentar cada
uno de las expresiones ingresadas.
Matrices. Ejercicio 5
11Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> -3:3
>> x = -3 : .3 : 3
>> x(2:12)
>> x(9:-2:1)
>> x=10:100;
>> x(40:5:60)
>> a = [1:6 ; 2:7 ; 4:9]
>> a, a(1,:), a(:,2)
>> s = rand(10,5); s(6:7, 2:4)
Ejecute en la ventana de
comandos las siguientes
expresiones y luego en un archivo
M-File comentar cada uno de las
expresiones ingresadas.
Matrices. Ejercicio 6
12Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> for i=1:10,...
>> for j=1:10,...
>> t(i,j) = i/j;...
>> end;...
>> end;...
>> t
Ejecute en la ventana de comandos las
siguientes expresiones y luego en un
archivo M-File comentar cada uno de
las expresiones ingresadas.
Aritmética Matricial. Ejercicio 7
13Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> a = [1 2 3 ; 4 5 6 ; 7 8 10], b = [1 1 1]’
>> 2*a, a/4
>> a + [b,b,b]
>> a+1, b+2
>> a*b, b*a
>> b’*a
>> a*a’ , a’ *a
>> b’ *b, b*b’
>> a^2, a.^2
>> a.*a, b.*b
>> 1./a
>> 1./a.^2
Ejecute en la ventana de
comandos las siguientes
expresiones y luego en un
archivo M-File comentar
cada uno de las expresiones
ingresadas.
Aritmética Matricial. Ejercicio 8
14Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> x = a\b
>> a*x, a*x-b
>> b = [1 1 0]’
>> x = a\b
>> a*x, a*x-b
>> a(3,3) = 9
>> x = b/a
Ejecute en la ventana de comandos las
siguientes expresiones y luego en un
archivo M-File comentar cada uno de las
expresiones ingresadas.
Funciones Matriciales. Ejercicio 9
15Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> det(a)
>> rank(a)
>> norm(a)
>> null(a)
>> a(3,3) = 10
>> h=hilb(5)
>> cond(a)
>> inv(h)
>> eig(h)
>> help eps
>> eps
Ejecute en la ventana de comandos las
siguientes expresiones y luego en un
archivo M-File comentar cada uno de las
expresiones ingresadas.
Gráficos. Ejercicio 10
16Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> x = -10:.1:10;
>> plot( x.^2 )
>> figure
>> plot( x, x.^2 )
>> figure
>> plot( x.^2, x )
>> plot((-10:.1:10).^2)
>> plot( x, x.*sin(x) )
>> plot( x.*cos(x), x.*sin(x) )
>> comet( x.*cos(x), x.*sin(x) )
>> plot3(x.*cos(x),x.*sin(x),x)
Ejecute en la ventana de
comandos las siguientes
expresiones y luego en un
archivo M-File comentar cada
uno de las expresiones
ingresadas.
Gráficos. Ejercicio 11
17Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
>> [x y] = meshgrid(-3:.1:3, -3:.1:3);
>> z = x.^2 - y.^2;
>> mesh(x,y,z)
>> plot3(x,y,z)
>> surf(x,y,z)
>> contour(z)
>> help slice
>> help plotxy
>> help plotxyz
>> help graphics
Ejecute en la ventana de
comandos las siguientes
expresiones y luego en un
archivo M-File comentar
cada uno de las
expresiones ingresadas.
Funciones y scripts. Ejercicio 12
18Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
[x y] = meshgrid(-3:.1:3, -3:.1:3);
z = x.^2 - y.^2;
mesh(x,y,z);
Crear un archivo prueba.m
que contenga lo siguiente:
>> pruebaEjecutar:
A = [2, 3, 4; 5, 6, 7; 8, 9, 0];
Crear un archivo mimatriz.m
que contenga lo siguiente:
>> mimatrizEjecutar:
Funciones y scripts. Ejercicio 13
19Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
function sqroot(x)
% Compute square root by Newton’s method
% Initial guess
xstart = 1;
for i = 1:100
xnew = ( xstart + x/xstart)/2;
disp(xnew);
if abs(xnew - xstart)/xnew < eps, break, end;
xstart = xnew;
end;
Crear un archivo
sqroot.m que contenga
lo siguiente:
>> sqroot(4)Ejecutar:
Funciones y scripts. Ejercicio 13
20Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
function [xnew] = sqrooto(x,xstart)
% calculo de la raiz por el metodo de Newton
% Eliminamos Initial Guess porque xstart tiene ahora un valor inicial
for i = 1:100
xnew = ( xstart + x/xstart)/2;
disp(xnew);
if abs(xnew - xstart)/xnew < eps, break, end;
xstart = xnew;
end;
Crear un archivo sqrooto.m que contenga lo siguiente:
>> format long
>> sqrooto(19,1)
>> path
Ejecutar:
Informe de Laboratorio 2
21Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
� El informe de laboratorio se presentara con el desarrollo de
todos los ejercicios desarrollados y preguntas de esta
presentación.
� El informe debe ser básicamente un documento gráfico en
lo posible y debe adjuntarse los códigos con los comentarios
solicitados en USB.
� Lo mas importante de un informe de laboratorio son los
conclusiones, comentarios y observaciones.
� Si han utilizado fuentes adicionales, adjuntarlas sólo en USB.
� EL Informe presentar impreso y en formato digital (en USB).
Presentación
22Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P.
� Todas las fuentes y el Informe deben presentarse en USB,
dentro de una carpeta que lleve las iniciales del curso, sus
Apellidos, guion bajo y luego el numero de laboratorio.
Ejemplo:
PDIVA_BenitezPalacios_L2
� Si se utilizan fuentes, deben conservar el nombre original y
agregar _tema.
� Las Tareas que no cumplan las indicaciones
no serán recepcionados por el profesor.
Procesamiento de Imágenes y Visión Artificial - Prof. Ing. Jose C. Benitez P. 23
Agradecimiento