Escolar Documentos
Profissional Documentos
Cultura Documentos
MATLAB
Curso basico
Mayo 2011
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Que es MATLAB?
MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un
programa para realizar calculos numericos con vectores y matrices. Como caso
particular puede tambien trabajar con numeros escalares -tanto reales como
complejos-, con cadenas de caracteres y con otras estructuras de informacion mas
complejas.
MATLAB es un lenguaje de alto nivel y entorno interactivo para el desarrollo de
algoritmos, visualizacion de datos, analisis de datos y computacion numerica.
Es una herramienta muy versatil y poderosa. En comparacion con los lenguajes
tradicionales, muy facil de usar.
Cuenta con unos conjuntos de herramientas (toolbox) de temas especficos.
Basicamente ya todo esta hecho.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Que es MATLAB?
Caractersticas claves:
Lenguaje de alto nivel para computacion tecnica.
Entorno de desarrollo para manejo facil de codigos, archivos y datos.
Herramientas interactivas para la exploracion, diseno, y solucion de problemas.
Funciones matematicas para algebra, estadstica, senales, optimizacion e
integracion numerica, entre muchas mas.
Funciones 2D y 3D para la visualizacion de datos.
Herramientas para la construccion de interfaces graficas propias.
Funciones para la integracion de otras aplicaciones: C, C++, Fortran, Java, Excel.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Interfaz de MATLAB
La interfaz de MATLAB, inicialmente esta se ve como se muestra a continuacion.
Pero es adaptable a lo que el usuario requiera. Para restaurar la interfaz de MATLAB,
en la barra de menu View/Desktop Layout/Default.
Entorno de trabajo
Path El path es una lista de directorios donde MATLAB busca archivos para ejecutar,
leer, etc.
Solo los archivos que estan en el path, son ejecutados por MATLAB.
Ayuda de MATLAB
helpwin
doc
O en la barra de menu help
Tarea:
Buscar en la ayuda de MATLAB, todos los comandos que se han visto hasta ahora.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variables
Los nombres de las variables en MATLAB, pueden ser de hasta 24 caracteres, el
primero debe ser una letra y los otros letras, numeros, y otros caracteres.
Escalares
Vectores
Matrices
Cadenas de texto
Con los comandos who y whos , se puede ver las variables creadas. Tambien se
puede usar la interfaz.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Constantes
MATLAB define por defecto valores, que son de uso frecuente en las ciencias y las
ingenieras.
Complejos
Tarea:
Buscar en la ayuda de MATLAB, comandos para operaciones con complejos.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ejercicios
Programacion
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Script
Ejecucion:
Basta con teclear el nombre de archivo, siempre y cuando este se encuentre en el path.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Funciones
Ejecucion:
Basta con teclear el nombre del archivo, con los argumentos entre parentesis
NOMBRE(ARGUMENTOS) , siempre y cuando este se encuentre en el Path.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Entrada y salida
La forma mas sencilla preguntar o mostrar los datos al usuario que ejecuta el
programa es con los siguientes comandos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operadores
Es importante anotar que estos operadores trabajan termino a termino si las entradas
son vectores o matrices.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
if-else-end
switch-case-end
for-end
Se ejecutan, las instrucciones para cada valor de la lista, esta lista no tiene que ser
consecutiva, ni tener un orden especial.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
while-end
break - continue
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ejercicios
Elaborar un programa como script y como funcion
1. Diga si una matriz es cuadrada.
2. Diga si un numero es primo o no, n < 50.
3. Diga si una matrix de 3x3 es un cuadrado magico, en la cual la suma de cada una
de las filas y columnas es 15.
4. Calcule el factorial de un numero (Recursion).
5. Calcule las races reales de una ecuacion, usando cualquier metodo.
6. Genere una matrix de 3x3 que sea un cuadrado magico.
7. Genere la siguiente matriz con base en su tamano n x m:
1 1/5 1/5
1/3
1 1/5
1/3 1/3 1
12 1m
1
21 2 2 m
n1 n 2 n
Graficas
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Introduccion
Introduccion
Las graficas son en esencia poligonales, es decir los puntos formados por las matrices
son unidos mediante lineas rectas. Entre mas puntos existan menos poligonal son las
graficas.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ejercicios
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ejemplo completo 2d
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Tipos de lineas
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Graficas 3D
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ejercicios
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variedad de graficos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variedad de graficos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variedad de graficos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variedad de graficos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Variedad de graficos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Interfaz grafica
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones comunes
4. Validacion de datos use la serie de comandos is* , con estos se puede determinar
si un dato es una cadena, un numero, esta vaca, es infinito, es NaN, etc.
Metodos numericos
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
x = A\b o x = linsolve(A,b)
Aunque en casos especficos puede no ser la mas eficaz, por lo general su tiempo de
respuesta es bueno.
Se mejora mucho el tiempo de ejecucion si al comando linsolve se le agrega
informacion de la matriz a resolver:
x = linsolve(A,b,ops)
Donde ops, es una estructura que define ciertas propiedades de la matriz. Mas
informacion en la ayuda.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Los comandos \ pueden ser remplazados por linsolve . Que propiedades tendra
la matriz, para mejorar el tiempo de la solucion? Mejora el tiempo de solucion?
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Ecuaciones no lineales
Derivadas e Integrales
Otras funciones
Computacion simbolica
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Computacion simbolica
Variables simbolicas
Antes de trabajar con alguna expresion de manera simbolica es necesario definir las
variables como simbolicas. Para esto se pueden usar los comandos x=sym(x) o
syms x . La primera se definen las varibles una a una con opciones. La segunda se
pueden definir varias variables a la vez.
Una vez definidas se pueden realizar operaciones:
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones comunes
Si f es una expresion simbolica, entonces:
simplify(f) Simplifica la expresion.
Mupad
El toolbox de MATLAB esta basado en Mupad, un programa de algebra simbolica
desarrollado por SciFace Software GmbH. Matlab cuenta con este programa. Para
acceder a el basta teclear el comando mupad
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Procesamiento de imagenes
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Procesamiento de imagenes
MATLAB cuenta con 2 toolbox que hacen posible el trabajo con imagenes y todo lo
que tiene que ver con vision por computador.
Image Acquisition Toolbox
Image Processing Toolbox
Entre ambos se cuenta con herramientas para muchas de las operaciones tradicionales
en tratamiento de imagenes: transformacion de formatos, filtrados, extraccion de
bordes, imagenes binarias, identificacion de objetos, operaciones con objetos, entre
otras.
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Este toolbox nos permite entre otras cosas capturar imagenes de una camara (web
cam) conectada al computador. Para lograr esto los pasos basicos son:
1. Matlab tienen que reconocerlo, sino no se puede hacer nada.
2. Recolectar informacion del dispositivo, el comando imaqhwinfo , nos da toda la
informacion. Muestra los dispositivos instalados.
3. Creacion del objeto o variable de adquisicion:
vid = videoinput(winvideo) , donde: vid es el objeto que contiene el video
y winvideo es nombre del adaptador de vdeo se consigue del segundo paso.
4. Previsualizacion del vdeo, preview(vid) y closepreview(vid)
5. Configuracion de las propiedades, con parametros adicionales modificar la entrada
de vdeo.
6. Captura, si se quiere trabajar con un continuo de imagenes: start(vid) ,
data=getdata(vid) , stop(vid) .
Si se quiere guardar una imagen data=getdata(vid) o getsnapshot(vid)
Introduccion Programacion Graficas Interfaz grafica Metodos numericos Computacion simbolica Procesamiento de imagenes
Operaciones comunes