Automatización, C.A.

Librería de Aplicaciones de MATLAB

 


 

DotSignal Processing Toolbox

MATLAB tiene una gran colección de funciones para el procesamiento de señal en el Signal Processing Toolbox. Este incluye funciones para:

[Return]Retorno a MATLAB


DotThe MATLAB C Math Library

La MATLAB C Math Library proporciona al usuario la capacidad computacional de MATLAB en una libreria en formato objeto enlazable. El objetivo principal de la C Math Library es soportar el desarrollo de aplicaciones 'stand alone' utilizando MATLAB y su compilador. Puede ser utilizada independientemente de MATLAB por programadores avezados en lenguaje C que necesiten prestaciones computacionales robustas y de alto rendimiento.

Junto con el compilador de MATLAB , la C Math Library permitirá a los programadores de aplicaciones utilizar MATLAB para la creación de aplicaciones 'stand alone'. Para los usuarios clásicos de MATLAB , se elimina así cualquier necesidad de volver a reescribir algoritmos en lenguaje C para ser utilizada por programas externos. Para aquellos usuarios que sean nuevos en la tecnología MATLAB , esta tecnología ofrece una nueva vía para la reducción del tiempo de desarrollo y puesta a punto de aplicaciones.

La MATLAB C Math Library proporciona una amplia gama de funciones clásicas del programa MATLAB , proporcionadas como librerias objeto, incluyendo básicamente las siguientes categorías de funciones presentes en MATLAB y archivos M compilados:

(Nota: Las funciones del tipo Handle Graphics no estan incluidas en la C Math Library).

Desarrollo de aplicaciones utilizando la MATLAB C Math Library

La construcción y desarrollo de aplicaciones utlizando esta libreria es un proceso de amplias perspectivas una vez se tiene un dominio adecuado de su operativa. El producto está dividido en dos categorias (como librerias objeto): la libreria (built-in library) contiene versiones de las funciones de MATLAB en lenguaje C del tipo numérico, lógico y utilidades. Por otra parte la libreria de toolboxes (toolbox library) contiene versiones compiladas de la mayoria de archivos M de MATLAB para cálculo numérico, análisis de datos y funciones de acceso a archivos y matrices.
En equipos UNIX estas librerias pueden ser igualmente obtenidas como librerias de tipo estático (static libraries) o bien como librerias compartidas (shared libraries). Respecto al mundo PC, estas librerias pueden obtenerse como DLL's en el entorno Microsoft Windows o como librerias compartidas en equipos Apple MacIntosh.


Utilización de MATLAB y de su compilador

Para construir una aplicación del tipo 'stand alone' que incorpore código originalmente desarrollado como archivos M de MATLAB , deberan de seguirse los pasos siguientes:

Velocidad y Precisión

Los algoritmos utilizados en la MATLAB C Math Library han sido desarrollados por un grupo de renombrados expertos en programación algorítmica de funciones de tipo matemático (algebra lineal y cálculo numérico). Las funciones de álgebra lineal han sido obtenidas de las librerias mundialmente reconocidas LINPACK y EISPACK. La MATLAB C Math Library contiene más de 300 funciones numéricas, lógicas y de utilidad. Todas estas funciones le permitiran operar en datos de tipo escalar, vectorial o matricial con la misma facilidad sintáctica.

LISTA PARCIAL DE FUNCIONES

Funciones matemáticas


Funcionales especiales y elementales


Algebra lineal numérica


Polinomios e interpolación


Métodos numéricos no lineales


Estadística y análisis de Fourier


Operaciones algebráicas y lógicas


Utilidades

Requerimientos

La libreria MATLAB C Math Library cumple con la normativa estándar ANSI para compiladores C. Finalmente, la librería trabajará con aquellos enlazadores que vienen suministrad os con la mayoría de compiladores ANSI C.

[Return]Retorno a MATLAB


DotTHE MATLAB COMPILER TOOLBOX

"OBTENGA UNA VELOCIDAD DE EJECUCION HASTA 200 VECES SUPERIOR CON EL NUEVO COMPILADOR DE MATLAB"

El nuevo compilador de MATLAB -The MATLAB Compiler- permite crear código C optimizado procedente de archivos M -M files- de MATLAB . Este compilador puede ser utilizado de dos modos:

Mediante la conversión automática de archivos M en código C fuente, el compilador MATLAB elimina consumo de tiempo y la conversión manual de código. Todo el proceso de conversión, compilación y enlazado se inicia a través de una simple instrucción de MATLAB.

Generación Automática de archivos MEX.

El compilador de MATLAB automatiza la creación de archivos MEX de C (MATLAB Ejecutables). Los archivos MEX contienen código objeto que es dinámicamente enlazado como 'runtime' en el entorno MATLAB por el intérprete del programa.

El proceso en cuestión se realiza en tres pasos:

Mientras se efectua una conversión de los archivos M en archivos MEX, el compilador realiza llamadas a las rutinas de la libreria C para muchas de las instrucciones contenidas en el propio núcleo de MATLAB . Existen algunas funciones, incluyendo las rutinas 'Handle Graphics', para las cuales se generan de nuevo llamadas 'callbacks' a MATLAB.
Pueden convertirse convenientemente archivos M en código fuente C para incorporarlos posteriormente en los archivos externos desarrollados en lenguaje C, si ese es el caso. Esta opción es ideal para usuarios que quieren sacar la máxima ventaja de MATLAB desde cualquier otra aplicación o producir código C eficiente a partir de los algoritmos desarrollados con MATLAB . Los desarrollos del tipo 'stand-alone' requieren para ello de la MATLAB C Math Library . Obsérvese que las funciones gráficas de MATLAB no estan incluidas.

Para construir aplicaciones 'stand-alone' se debería seguir los siguientes pasos:

Rendimiento del compilador

Mediante la compilación de los archivos M podemos obtener un rendimiento significativo. La velocidad de mejora de este rendimiento, depende fuertemente de cada aplicación. En algunos casos el rendimiento puede mejorar hasta en 200 veces la ejecución si la comparamos con el modo de trabajo interpretado del programa. Las operaciones matriciales y vectoriales ejecutadas desde MATLAB ya estan fuertemente optimizadas en su diseño. Sin embargo, mediante la utilización del compilador se obtendran significativas mejoras.

Opciones de ajuste del rendimiento

El compilador de MATLAB ofrece varias opciones que permiten generar el programa final de la manera más eficiente. Por ejemplo, Ud. puede directamente:

Requerimientos del sistema

Para utilizar el compilador de MATLAB para crear archivos MEX se necesita la versión de MATLAB 4.2c y tener instalado uno de los siguientes compiladores de lenguaje C:

Cualquier compilador ANSI C (Nota: El compilador de SunOS 4.1.X no es un compilador ANSI C).

Cualquiera que sea el equipo informático que vaya a utilizarse para desarrollar aplicaciones 'stand alone' se requiere, además del compilador de MATLAB, que se tengan las MATLAB C Math Library y un compilador ANSI C.

Limitaciones del código compilado

Ciertas instrucciones, como load y eval, no estan soportadas por el compilador de MATLAB . Este no puede generar código de los diagramas de bloques de SIMULINK. Los toolboxes de MATLAB pueden incluir archivos MEX y otros componentes que no son compilables.

[Return]Retorno a MATLAB


DotSYMBOLIC MATH TOOLBOX

El Toolbox de Matemática Simbólica, añade a MATLAB la capacidad de realizar cálculos simbólicos basados en MAPLE V © soportando además (The Extended Symbolic Math Toolbox) las librerías especializadas, y los programas realizados para este último. Entre otros, los principales tipos de operaciones soportados son los siguientes:

Existen dos versiones del mismo Toolbox. The Basic Symbolic Math Toolbox es una colección de más de 50 funciones MATLAB las cuales permiten acceder al kernel de MAPLE utilizando la sintaxis y el estilo del lenguaje MATLAB. The Extended Symbolic Math Toolbox aumenta esta funcionalidad incluyendo todas las características de programación de MAPLE, y el acceso a los paquetes de funciones de más de veinte campos de las matemáticas especiales aplicadas.

Es posible utilizar este Toolbox sin conocimiento previos de MAPLE, ya que los archivos contenidos en él son totalmente autónomos. Sin embargo, si lo que se desea es obtener toda la potencia de cálculo del entorno, será necesario un amplio conocimiento del manejo y la programación de MAPLE
[Return]Retorno a MATLAB


DotOptimization Toolbox

El toolbox de optimización consta de un conjunto de funciones que resuelven problemas de extremos, con o sin condiciones, de funciones reales las cuales son generalmente multivariables y no lineales. Asimismo, posee funciones para la resolución de algunos tipos de problemas matriciales en extremos. Resulta conveniente para una comprensión y mejor manejo de la toolbox poseer conocimientos básicos previos de análisis de funciones reales, matrices y teoría de extremos.

Algunas de las áreas básicas que cubre este toolbox para MATLAB son las siguientes:


Retorno a MATLAB


DotImage Processing Toolbox

Este Toolbox proporciona a MATLAB de un conjunto de funciones que amplia las capacidades del producto para realizar desarrollo de aplicaciones y de nuevos algoritmos en el campo del proceso y análisis de imagenes. El entorno matemático y de creación de MATLAB es ideal para el procesado de imágenes, ya que estas imágenes son, al fin y al cabo, matrices. Este toolbox incorpora funciones para:

El proceso de imágenes es un campo de trabajo absolutamente crucial para aquellos colectivos e industrias que esten trabajando en áreas como diagnóstico médico, astronomia, geofísica, ciencias medioambientales, análisis de datos en laboratorios, inspección industrial, etc. Los programas actuales de procesado y análisis de imágenes se clasifican actualmente en dos categorias: librerias de bajo nivel para programadores profesionales y paquetes de aplicación con capacidades limitadas de personalización. Ambos tipos de aplicaciones están, generalmente, pensados para tareas básicas de visualización de datos y 'rendering'. Sin embargo, muchos de ellos adolecen de la posibilidad de efectuar análisis numéricos de los mismos. El Image Processing Toolbox entra dentro de la categoria de familias de funciones que, desde el entorno de trabajo de MATLAB , permitirá al profesional efectuar una exploración exhaustiva y desde un punto de vista matemático de las imágenes y gráficos que se deseen tratar o analizar.

Algunas de las funciones más importantes incluidas dentro de este toolbox son las siguientes:


[Return]Retorno a MATLAB


DotNeural Network Toolbox

Este toolbox proporciona funciones para el diseño, inicialización, simulación y entrenamiento de los modelos neuronales de uso más extendido en la actualidad: Perceptrón, redes lineales, redes de retropropagación, redes de base radial, aprendizaje asociativo y competitivo, aplicaciones autoorganizativas, aprendizaje de cuantización vectorial, redes de Elman y redes de Hopfield.

Mediante la inclusión de un amplio abanico de funciones y procedimientos escritos para MATLAB, el usuario puede mediante el Neural Network Toolbox efectuar el diseño de arquitecturas complejas, combinando los modelos que ya estan proporcionados por defecto en el toolbox. Asimismo, el usuario puede definir sus propias funciones de transferencia e inicialización, reglas de aprendizaje, funciones de entrenamiento y estimación de error para usarlas posteriormente con las funciones básicas.

El toolbox, aporta las facilidades y prestaciones gráficas de MATLAB para el estudio del comportamiento de las redes: visualización gráfica de la matriz de pesos y vector de desplazamiento mediante diagramas de Hinton, representación de errores a lo largo del entrenamiento, mapas de superficie de error en función de pesos y vector de desplazamiento, etc. Estos gráficos resultan muy útiles en el estudio de la convergencia y estabilidad de los algoritmos de aprendizaje. Este toolbox incluye un manual de introducción al campo de las redes neuronales junto con una colección de demostraciones y aplicaciones muy didácticas, útiles para el estudio y la profundización en las cuestiones fundamentales de los paradigmas de redes neuronales básicos. Asimismo, se proporcionan las referencias bibliográficas más significativas referidas a los distintos modelos que aparecen en la aplicación.

A pesar de que el estudio de las redes neuronales se inició ya hace algunas decadas, las primeras aplicaciones sólidas dentro de este campo no han tenido lugar hasta hace unos doce años y aun ahora constituyen un área de investigación en rápido desarrollo. Este toolbox tiene por tanto una orientación diferente a aquellos destinados a campos como el de sistemas de control u optimización donde la terminología, fundamentos matemáticos y procedimientos de diseño estan ya firmemente establecidos y se han aplicado durante años. Este toolbox pretende que sea utilizado para la valoración y diseño de diseños neuronales en la industria y sobre todo en educación e investigación.

Esta herramienta tiene el soporte de MATLAB 4.2c y SIMULINK. La librería de SIMULINK contiene modelos de capas de redes neuronales de cada tipo de neurona implementada en el toolbox de redes neuronales. Es posible por tanto diseñar sistemas SIMULINK para simular redes neuronales creadas usando esta herramienta. Simplemente, las capas se conectan de acuerdo con la arquitectura de la red y se proporcionan como entrada a la caja de diálogo de cada capa la matriz de pesos apropiada y el vector de desplazamiento. Usando el generador de código C de SIMULINK es posible generar automáticamente el código correspondiente a un diseño neuronal.

Dentro de las aplicaciones básicas de este toolbox, cabe destacar aquellas que estan orientadas a aquellas que se enmarcan dentro del campo de la industria aeroespacial y automoción (simulación, sistemas de control, autopilotaje), banca, defensa (reconocimiento de patrones, procesamiento de señales, identificación de imágenes, extracción de características, compresión de datos), electrónica (control de procesos, análisis de errores, modelado no lineal, síntesis de voz, visión por ordenador), economía (análisis financiero, análisis predictivo), industria (control de procesos, identificación en tiempo real, sistemas de inspección), medicina, robótica (control de trayectorias, sistemas de visión), reconocimiento y síntesis del habla, telecomunicaciones (control de datos e imágenes, servicios de información automatizada, traducción del lenguaje hablado en tiempo real, diagnosis, sistemas de enrutamiento), etc. El toolbox contiene muchos ejemplos de algunas de estas aplicaciones.


[Return]Retorno a MATLAB


DotNON LINEAR CONTROL DESIGN TOOLBOX

Se trata del primer producto comercialmente disponible en la actualidad para el diseño de controladores automáticos en entornos de sistemas no lineales. Este nuevo toolbox está pensado para ser utilizado exhaustivamente por ingenieros que diseñan controladores para industrias avanzadas, destacando el sector del automóvil, ingenieria aeroespacial, control de procesos y empresas petroquímicas. Según indica Jim Tung, Vicepresidente del área de desarrollo de The MathWorks Group, Inc. "El proceso de aproximación tradicional en el diseño de controladores en sistemas no lineales ha sido hasta la fecha linealizarlos de algún modo para aplicar posteriomente un método de diseño lineal que requiere de importantes ajustes manuales. El toolbox NCD permite por primera vez a los ingenieros de control diseñar directamente sus controladores en un ambiente no lineal, obviando la aproximación lineal y otros procedimientos auxiliares que antes se necesitaban de modo imperativo. Los resultados ahora son de elevada calidad, controladores más robustos y un ciclo de diseño mucho más rápido."

El toolbox NCD extiende, además, las prestaciones que incorpora SIMULINK, el entorno de desarrollo de diagramas de bloques para la modelación y análisis de sistemas dinámicos de The MathWorks, Inc. El usuario puede incluir uno o más bloques NCD en el sistema y describir posteriormente de modo totalmente gráfico las restricciones, tolerancias y límites de permisividad de cada uno de estos bloques. Los métodos avanzados de optimización y la simulación del proceso son posteriormente analizados y ajustados mediante la inclusión de unas ciertas variables de contorno para poder obtener los tiempos de respuesta deseados. Este toolbox puede ser utilizado para ajustar una amplia variedad de controladores que se utilizen en un sistema, destacando los controladores PID, LQR, LQG y estructuras H infinito. El diseñador de sistemas puede utilizar el método de Montecarlo para el diseño y análisis de controladores robustos, siempre que se detecten determinadas variaciones en los componentes del sistema.

El toolbox NCD es un componente avanzado del entorno integrado de desarrollo que ofrecen a los especialistas los programas MATLAB y SIMULINK. Por ello, los diseñadores podrán beneficiarse de muchos de los toolboxes desarrollados para este entorno en materia de diseño de sistemas lineales. Por ejemplo, podrán utilizarse toolboxes para el análisis de sistemas lineales para el diseño inicial; posteriormente, podrán utilizarse modelos no lineales más sofisticados utilizando SIMULINK. Además, puede invocarse NCD para un mejor ajuste paramétrico y para la optimización de los controladores. Este toolbox se encuentra actualmente disponible para una amplia variedad de plataformas informáticas, destacando ordenadores personales tipo PC o Apple MacIntosh, numerosas estaciones UNIX y ordenadores Digital VAX VMS.


[Return]Retorno a MATLAB


DotNAG FOUNDATION TOOLBOX

Este toolbox proporciona un acceso interactivo, desde dentro de MATLAB, a un amplio conjunto de funciones matemáticas y estadísticas contenidas en las clásicas NAG Fortran Libraries de la empresa The Numerical Algorithms Group Incorpora más de 200 archivos M, los cuales cubren un amplio espectro de áreas de interés, entre las que cabe destacar optimización, ecuaciones diferenciales ordinarias y en derivadas parciales, cuadratura, estadística, etc. La NAG Foundation Toolbox añade también rutinas concretas para campos específicos tales como la resolución de problemas con condiciones de contorno, problemas de cuadratura adaptativa multidimensional, ajuste de curvas y superficies y el acceso a los algoritmos LAPACK para la resolución de ecuaciones lineales. Los nombre de las funciones han sido directamente tomados de las especificaciones de función clásica que añade The Numerical Algorithms Group para sus librerias. Como resultado de esto, aquellos usuarios de las librerías Fortran de NAG que a la vez sean usuarios de MATLAB, encontraran bastante cómodo acceder a las rutinas NAG utilizando la nomenclatura original.

La NAG Foundation Toolbox es resultado de la colaboración corporativa que actualmente están llevando a cabo The MathWorks Group y The Numerical Algoriths Group para proporcionar un rápido acceso desde MATLAB a un importante de rutinas matemáticas contenidas en la NAG Foundation Library. Actualmente, este toolbox incorpora 250 rutinas matemáticas.

Algunas de las áreas de cobertura de la NAG Foundation Toolbox son las siguientes:



 

[Retorno]     [ E-MAIL ]


Automatización, C.A., 1997
Tel & Fax: (02) 9631004
Ing. Oswaldo Montbrun

Ing. Andres Montbrun
automat@eldish.net