Revista matlab

Page 1


Procesamiento de Imágenes | Armando Urbán Márquez

Tabla de contenido MATLAB ............................................................................................................................................... 3 CARACTERISTICAS................................................................................................................................ 3 Lenguaje .......................................................................................................................................... 3 Simulink ........................................................................................................................................... 4 Gráficos e interfaces gráficas .......................................................................................................... 4 Toolboxes ........................................................................................................................................ 4 Limitaciones y Alternativas ............................................................................................................. 5 Interfaz con otros Lenguajes de Programación............................................................................... 5 Ventajas ............................................................................................................................................... 6 Desventajas ......................................................................................................................................... 6 Tipos de datos ..................................................................................................................................... 7 Ambiente de trabajo ........................................................................................................................... 8

2


Procesamiento de Imágenes | Armando Urbán Márquez

MATLAB MATLAB es una herramienta de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, Mac OS X y Linux.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.

CARACTERISTICAS Lenguaje 

Las aplicaciones de MATLAB se desarrollan en un lenguaje de programación propio. Este lenguaje es interpretado, y puede ejecutarse tanto en el entorno interactivo, como a través de un archivo de script (archivos *.m). Este lenguaje permite operaciones de vectores y matrices, funciones, cálculo lambda, y programación orientada a objetos.

3


Procesamiento de Imágenes | Armando Urbán Márquez

Simulink 

Simulink es un módulo que permite la simulación de sistemas dinámicos a través de una interfaz basada en bloques

Gráficos e interfaces gráficas 

MATLAB provee funciones para visualizar datos en 2D y 3D.

Toolboxes 

Las funcionalidades de Matlab se agrupan en más de 35 toolboxes y paquetes de bloques (para Simulink), clasificadas en las siguientes categorías: 1. MATLAB a) Parallel Computing b) Math, Statistics, and Optimization c) Control Systems d) Signal Processing and Communications e) Image Processing and Computer Vision f) Test and Measurement g) Computational Finance h) Computational Biology i) Code Generation and Verification j) Application Deployment k) Database Connectivity and Reporting l) MATLAB Report Generator 2. Simulink a) Event-Based Modeling b) Physical Modeling c) Control Systems d) Signal Processing and Communications e) Code Generation f) Real-Time Simulation and Testing g) Verification, Validation, and Test h) Simulation Graphics and Reporting

4


Procesamiento de Imรกgenes | Armando Urbรกn Mรกrquez

Limitaciones y Alternativas Durante mucho tiempo hubo crรญticas porque MATLAB es un producto propietario de The Mathworks, y los usuarios estรกn sujetos y bloqueados al vendedor. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la secciรณn de herramientas "Application Deployment" para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construcciรณn de aplicaciรณn .NET o Java. Pero la desventaja es que el computador donde la aplicaciรณn tiene que ser utilizada necesita MCR (MATLAB Component Runtime) para que los archivos MATLAB funcionen correctamente. MCR se puede distribuir libremente con los archivos de biblioteca generados por el compilador MATLAB.

Interfaz con otros Lenguajes de Programaciรณn MATLAB puede llamar funciones y subrutinas escritas en C o Fortran. Se crea una funciรณn envoltorio que permite que sean pasados y devueltos tipos de datos de MATLAB. Los archivos objeto dinรกmicamente cargables creados compilando esas funciones se denominan "MEX-files", aunque la extensiรณn de nombre de archivo depende del sistema operativo y del procesador.

5


Procesamiento de Imágenes | Armando Urbán Márquez

Ventajas 

    

Amplio soporte Matemático además de posibilidad de uso de precisión extendida en los cálculos. Con adecuadas optimizaciones, son rápidos en ejecución y de alta precisión. Amplio soporte de funciones ya desarrolladas. Rápido prototipado. Integración con dispositivos hardware. Comercial. Diversos foros.

Pueden ser paralelizados (MPI, PVM, OpenMP).

Desventajas    

Gestión “oscura” de la memoria. Problemas eventuales con velocidad. Proceso laborioso susceptible a cometer errores en la programación de algoritmos. Distribución de ejecutables. 6


Procesamiento de Imágenes | Armando Urbán Márquez

Es preciso linkar con librerías numéricas y gráficas. Las herramientas de debugging y profiling no suelen ser fáciles de utilizar para algunos usuarios.

Tipos de datos La “especialidad” de MATLAB es trabajar con vectores y matrices, pero MATLAB puede también trabajar con otros tipos de datos:

 Conjuntos o cadenas de caracteres, fundamentales en cualquier lenguaje de programación.  Estructuras, o agrupaciones bajo un mismo nombre de datos de naturaleza diferente.  Vectores o matrices de celdas (cell arrays), que son vectores o matrices cuyos elementos pueden ser cualquier otro tipo de dato.  MATLAB trabaja también con cadenas de caracteres, con ciertas semejanzas y también diferencias respecto a C/C++ y Java.  Los caracteres de una cadena se almacenan en un vector, con un carácter por elemento. Cada carácter ocupa dos bytes.  Las cadenas de caracteres van entre apóstrofos o comillas simples, como, por ejemplo: 'cadena'.  Si la cadena debe contener comillas, éstas se representan por un doble carácter comilla, de modo que se pueden distinguir fácilmente del principio y final de la cadena.  Por ejemplo, para escribir la cadena ni 'idea' se escribiría 'ni''idea'''.

7


Procesamiento de Imágenes | Armando Urbán Márquez

Ambiente de trabajo Al iniciar una sesión MATLAB observaremos el espacio de trabajo como en la Figura 1, compuesto por varias ventanas. La más grande de ellas, que se encuentra a la

derecha, es la ventana de comandos. Una vez que MATLAB está listo para funcionar aparece la señal de espera de entrada (“prompt”) en forma de >>. Podemos modificar la carpeta activa seleccionándola en la pestaña de “Current directory”. Ahora los ficheros de su carpeta activa son visibles desde MATLAB, en la ventana superior izquierda. Para finalizar la sesión bastara con teclear exit o quit, o simplemente cerrar la ventana de MATLAB (indistintamente). El programa se cerrará y volverá a la pantalla principal de Windows.

8


Procesamiento de Imágenes | Armando Urbán Márquez

Las ventanas que forman parte del entorno de trabajo de Matlab son: 

Command Window: Se utiliza para introducir órdenes directamente por el usuario (seguidas de enter). Los resultados de las órdenes introducidas se muestran en esta misma pantalla. Cuando las órdenes se envían desde un programa previamente escrito, que en Matlab recibe el nombre de M-file, los resultados también aparecen en esta ventana.

Command history: Las órdenes introducidas en la ventana command window quedan grabadas en esta ventana, de forma que, haciendo doble click sobre ellas, las podemos volver a ejecutar. De la misma forma, si nos situamos en la ventana command window, en el espacio reservado para introducir nuevas órdenes, i.e. inmediatamente después de >>, y presionamos la tecla ↑, podemos acceder a órdenes introducidas con anterioridad.

Workspace: Esta ventana contiene las variables (escalares, vectores, matrices, ...) creadas en la sesión de Matlab. La ventana workspace nos proporciona información sobre el nombre, dimensiones, tamaño y tipo de variable. Existen dos opciones para eliminar una variable: a) Introducir en command window el comando clear seguido del nombre de la variable. b) Seleccionar la variable en el workspace y borrarla directamente con la tecla delete.

9


Procesamiento de Imágenes | Armando Urbán Márquez

Current directory: Las operaciones de Matlab utilizan el directorio seleccionado en current directory (a través del botón para explorar) como punto de referencia. Por ejemplo, si guardamos una serie de variables con el comando save, se guardan en el directorio en el que estemos trabajando. Lo mismo ocurre cuando cargamos datos con el comando load: el ordenador busca los datos en el fichero en el que estemos trabajando.

10


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.