Está en la página 1de 26

Matlab

1.- INTRODUCCION AL MATLAB 1.1.- ORIGEN 1.2.- INICIACIN AL MATLAB 1.3- CARACTERSTICAS DEL ENTORNO 1.4.- SALIDAS O PRESENTACIONES 1.5.- FUNCIONES DE MATLAB 1.6- EL MATLAB Y LA ESTADSTICA 2.- LIBRERIAS 3.- VENTANAS 3.1.- OPERACIONES CON VECTORES Y MATRICES 3.2.- GRAFICAS 3.3.- ANLISIS DE VOZ 4.- FUNCIONES ESPECIALES REFERENCIAS BIBLIOGRAFICAS

Una herramienta poderosa para la investigacin. El presente documento es una recopilacin de informacin que puede ser til para aquellos estudiantes interesados en conocer esta poderosa herramienta de clculo, simulacin y modelado matemtico que por dems est el mencionar en esta introduccin todos los elogios de que es merecedor este singular programa de clculo matemtico por su amplia rea de aplicacin en el estudio cientfico. 1.- INTRODUCCION AL MATLAB. MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos. MATLAB integra anlisis numrico, clculo matricial, proceso de seal y visualizacin grfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribiran tadicionalmente, sin necesidad de hacer uso de la programacin tradicional. MATLAB dispone tambin en la actualidad de un amplio abanico de programas de apoyo especializado, denominado Toolboxes, que extienden significativamente el nmero de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prcticamente casi todas las reas principales en el mundo de la ingeniera y la simulacin, destacando entre ellos el 'toolbox' de proceso de imgenes, seal, control robusto, estadstica, anlisis financiero, matemticas simblicas, redes neurales, lgica difusa, identificacin de sistemas, simulacin de sistemas dinmicos, etc. es un entorno de clculo tcnico, que se ha convertido en estndar de la industria, con capacidades no superadas en computacin y visualizacin numrica. De forma coherente y sin ningn tipo de fisuras, integra los requisitos claves de un sistema de computacin tcnico: clculo numrico, grficos, herramientas para aplicaciones especficas y capacidad de ejecucin en mltiples plataformas. Esta familia de productos proporciona al estudiante un medio de carcter nico, para resolver los problemas ms complejos y difciles. 1.1.- ORIGEN MATLAB nace como una solucin a la necesidad de mejores y ms poderosas herramientas de clculo para resolver problemas de clculo complejos en los que es necesario aprovechas las amplias capacidades de proceso de datos de grandes computadores. El nombre MATLAB viene de "matrix laboratory" (laboratorio matricial). MATLAB fue originalmente escrito para proveer acceso fcil al software matricial desarrollado por los proyectos LINPACK y

EISPACK, que juntos representan el estado del arte e software para computacin matricial. Hoy MATLAB es usado en una variedad de reas de aplicacin incluyendo procesamiento de seales e imgenes, diseo de sistemas de control, ingeniera financiera e investigacin mdica. La arquitectura abierta facilita usar MATLAB y los productos que lo acompaan para explorar datos y crear herramientas personalizadas que proveen visiones profundas tempranas y ventajas competitivas.

1.2.- INICIACIN AL MATLAB El Lenguaje de Computacin Tcnica MATLAB es un ambiente de computacin tcnica integrada que combina computacin numrica, grficos y visualizacin avanzada y un lenguaje de programacin de alto nivel. Sea cual fuere el objetivo, un algoritmo, anlisis, grficos, informes o simulacin, MATLAB lo lleva all. El lenguaje flexible e interactivo de MATLAB permite a ingenieros y cientficos expresar sus ideas tcnicas con simplicidad. Los poderosos y amplios mtodos de cmputo numrico y traficacin permiten la prueba y exploracin de ideas alternativas con facilidad, mientras que el ambiente de desarrollo integrado facilita producir resultados prcticos fcilmente. MATLAB es la fundacin numrica y grfica para todos los productos de The MathWorks. MATLAB combina computacin numrica, grficos 2D y 3D y capacidades de lenguaje en un nico ambiente fcil de usar. Con su amplio rango de herramientas para modelar sistemas de control, anlisis, simulacin y procesamiento de prototipos, MATLAB es el sistema ideal para desarrollar sistemas avanzados de control. Usted puede modelar su sistema de control usando las cajas de herramientas para el diseo de controles avanzados de MATLAB - Control System, Robust Control, -Analysis and Synthesis, Model Predictive Control, QTF Control Design y LMI control. Posteriores anlisis y refinamientos pueden ser efectuados estableciendo una simulacin interactiva en Simulink, y luego sintonizar automticamente los parmetros usando el Nonlinear Control Design Blockset. Finalmente, usted puede generar cdigo C para correr en controladores incrustados con Real Time Workshop. Combinando MATLAB con Signal Processing Toolbox, Wavelet Toolbox y un conjunto de herramientas complementarias - tales como Image Processing, Neural Network, Fuzzy Logic, Statistics y otras - usted puede crear un ambiente de anlisis personalizado de seales y desarrollo de algoritmos DSP. Para simulacin y desarrollo de prototipos usted puede agregar Simulink y el DSP Blockset para modelar y simular sus sistemas DSP, y luego usar Real-Time Workshop para generar cdigo C para su hardware designado. 1.3- CARACTERSTICAS DEL ENTORNO Caractersticas de MATLAB: Clculos intensivos desde un punto de vista numrico. Grficos y visualizacin avanzada. Lenguaje de alto nivel basado en vectores, arrays y matrices. Coleccin muy til de funciones de aplicacin.

Las poderosas capacidades de clculo tcnico de MATLAB se ponen a la disposicin de los estudiantes, aunque limita el tamao de las matrices a 8192 elementos, la edicin de estudiante mantiene toda la potencia de la versin profesional de MATLAB 4.0, en una forma diseada para que los estudiantes puedan ejecutarlo en sus propios ordenadores personales bajo Windows. Toolbox especiales:

Se incluyen el Toolbox de seales y Sistemas (un conjunto de herramientas para el procesamiento de seal y para el anlisis de sistemas de cuadro) y el Toolbox Symbolyc Math (herramienta de clculo simblico basada en Maple V). A continuacin presentamos la interface de usuario de MATLAB 4.0 con el despliegue de una aplicacin con grafica en 3D correspondiente al modelo Z=x^y-y^x su tabla de clculo y el anlisis de la funcin.

1.4.- SALIDAS O PRESENTACIONES MATLAB provee acceso inmediato a las caractersticas grficas especializadas requeridas en ingeniera y ciencias. Potente traficacin orientada a objetos grficos le permite graficar los resultados de su anlisis, incorporar grficos en sus modelos de sistemas, rpidamente presentar complejos 3-D objetos, y crear resultados de presentacin, entre lo cual se destaca: Representaciones 2-D y 3-D, incluyendo datos triangulados y reticulados Representaciones 3-D quiver, ribbon, y stem Control de fuentes, letras Griegas, smbolos, subndices y superndices Seleccin expandida de smbolos marcadores de curvas Grficos de torta, de barras 3-D y grficos de barras horizontales Grficos 3-D y slido modelado Representacin de imgenes y archivos I/O Grficos comentados Leer/Escribir archivos de datos Hierarchical Data Format (HDF) Presentacin de OpenGL software y hardware Animacin Display de buffer x rpido y exacto Soporte de colores verdaderos (24-bit RGB) Fuentes mltiples de luz para superficies coloreadas Vista basada en cmara y control de perspectiva Iluminacin Plana, Gouraud y Phong Soporte eficiente de imagen de datos de 8-bit Control de eje y cmara Propiedades de superficie y patch Modelos de iluminacin Control grfico de objetos Impresin y representacin de copias Formatos grficos exportables Soporte de publicacin de escritorio

1.5.- FUNCIONES DE MATLAB Manipulacin y Reduccin de Datos MATLAB tiene un rango completo de funciones para reprocesar datos para anlisis, incluyendo:

y decimando secciones de datos y promediando y procesando umbrales y filtrando

Numerosas operaciones para manipular arreglos multidimensionales, incluyendo reticulacin e interpolacin de datos, estn tambin disponibles.

Descriptivos Grficos Para Explorar y Presentar Sus Datos Grficos de propsitos generales y de aplicacin especfica le permiten visualizar al instante seales, superficies paramtricas, imgenes y ms. Todos los atributos de los grficos de MATLAB son personalizables, desde los rtulos de ejes al ngulo de la fuente de luz en las superficies 3-D. Los grficos estn integrados con las capacidades de anlisis, de modo que usted puede mostrar grficamente cualquier conjunto de datos sin editar, ecuacin o resultado funcional. I/O Directo de Datos Usted puede ingresar y sacar datos de f MATLAB rpidamente. Las funciones estn disponibles para leer y escribir archivos de datos formateados en MATLAB, llamados archivos MAT. Funciones adicionales ejecutan programas ASCII e I/O binario de bajo nivel desde los archivos de programas M, C, y Fortran, permitindole trabajar con todos los formatos de datos. MATLAB tambin incluye soporte incorporado para formatos populares de archivos estndar. Computacin Simblica Integrada Integrando el motor simblico Maple V con MATLAB, los Symbolic Math Toolboxes le permiten mezclar libremente computacin simblica y numrica una sintaxis simple e intuitiva. Anlisis de Datos Confiable, Rpido y Exacto Los mtodos usados comnmente para anlisis de datos multidimensional generalizados 1-D, 2-D estn incorporados en MATLAB. Interfaces grficas fciles de usar, especficas para aplicaciones, la lnea de comando interactiva y herramientas de programacin estructuradas le permiten elegir el mejor camino para sus tareas de anlisis. Anlisis de Datos para DSP MATLAB ofrece muchas herramientas para realizar la funcionalidad indispensable en procesamiento de seales, tales como Transformadas Rpidas Fourier y Transformadas Rpidas Inversas de Fourier. La visualizacin de datos de procesamiento de seales est soportada por funciones tales como grficos stem y periodogramas. El lenguaje de MATLAB, inherentemente orientado a matrices hace que la expresin de coeficientes de filtros y demoras de buffers sean muy simples de expresar y comprender. Anlisis de Datos en Aplicaciones de Imgenes MATLAB y la Image Processing Toolbox ofrece un amplio conjunto de herramientas que le permite fcilmente manipular, procesar y analizar datos de imgenes, interactivamente mostrar pantallas de imgenes 2-D o 3-D, visualizar datos temporarios cuando es necesario, y comentar sus resultados para publicaciones tcnicas. La orientacin basada en matrices del lenguaje de MATLAB le permite expresar en forma compacta operaciones matemticas de forma similar a cmo las expresara sobre papel. Como resultado, es fcil e intuitivo efectuar procesamiento de imgenes y operaciones de anlisis tales como FFTs, filtrado 2-D, morfologa binaria, manipulacin geomtrica, conversin de espacios de colores, compresin, anlisis de componentes conectados y ms. Algorithm Development (Desarrollo de Algoritmos) Sea que usted est usando los algoritmos del sistema o est inventando los suyos propios, MATLAB le provee un ambiente en el que usted puede experimentar. A diferencia de C y C++, MATLAB le permite desarrollar algoritmos desde cero o trabajar con interfaces complicadas a bibliotecas externas. La poderosa fundacin de computacin, el lenguaje tcnico, y cientos de funciones en cajas de herramientas (toolboxes) convierten a MATLAB en lo ms adecuado para aplicaciones matemticamente intensivas que requieran anlisis de datos, procesamiento de seales e imgenes, modelado de sistemas o tcnicas numricas avanzadas.

1.6- EL MATLAB Y LA ESTADSTICA

Statistics Toolbox Combina poderosos algoritmos estadsticos con interfaces grficas interactivas Las Statistics Toolbox le dan un rango ancho de herramientas para realizar clculos estadsticos. Proporciona una nica mezcla de facilidad grfica de uso y programabilidad. Los despliegues grficos interactivos le permitieron aplicar mtodos estadsticos fcilmente y de forma consistente, mientras el lenguaje de MATLAB le permite fcilmente crear los acostumbrados mtodos estadsticos y de anlisis. Esta combinacin le da la libertad para acceder las funciones bajo-niveladas directamente como funciones de probabilidad y ANOVA de la lnea del orden, o para usar las interfaces interactivas para aprender y experimentar con el toolbox construir-en visualizacin y herramientas del anlisis. Rasgos Anlisis de los componentes principal ANOVA Bootstrapping Comprobacin de la hiptesis Creacin de superficies y modelado Curva que encaja (con intervalos) Distribuciones de probabilidad Estadsticas descriptivas Estimacin del parmetro y encajando Interfaces grficas de usuario Modelada de Nonlinear Parcelas estadsticas Plan de experimentos Proceso estadstico de control Regresin del stepwise interactiva Regresin mltiple Simulacin de Carlo Monte El toolbox es el ambiente ideal no rutina para el montaje ejemplar. Las capacidades primarias incluyen: el anlisis de la regresin y diagnstica con seleccin inconstante, modelado no lineal, probabilidad y estimacin de parmetros, anlisis de sensibilidad que usa los generadores de nmero de azar, control del proceso estadstico, y plan de experimentos. Distribuciones de probabilidad. La Caja de Herramientas Estadsticas (Statistics TollBox) apoya una coleccin de 20 distribuciones de probabilidad diferentes, incluso T, F, y distribuciones del Chi-cuadrado, despliegues grficos de ataques, y se mantienen formas de calcular ataques mejores todos los tipos de la distribucin. Herramientas de GUI que mantienen Muchas herramientas interactivas para la visualizacin dinmica y el anlisis de datos. Las interfaces especializadas tienen incluido planificacin para los resultados, visualizacin de la distribucin, generacin de nmero de azar, y rea del contorno. Parcelas estadsticas los rdenes trazando Estadsticos como weibplot y randplot le permiten realizar anlisis de fiabilidad o montaje distribucional. Desarrollo del algoritmos de junto con el MATLAB, el toolbox le da todo lo que usted necesita para desarrollar nuevos algoritmos para el anlisis estadstico. Usted puede usar las funciones de trazando de Statistics Toolbox, o crea su propio trazo usando los rasgos de Grficos de MATLAB.

En la grfica, el orden del histfit se sobrepone a una curva de densidad normal en un histograma. El nmero predefinido de cajas se pone a la raz cuadrada del nmero de elementos en los datos.

Explorando y Aprendiendo Statistics Toolbox GUIs La Statistics Toolbox incluye varios elementos de fcil uso para despliegues que proporcionan vistas grficas de sus datos y lecturas numricas precisas del valor de la funcin actual y estadstica descriptiva relacionada. Controles de interface de usuario, como botones, los deslizadores, y los datos dinmicos, donde usted controla sobre el despliegue de los datos. Estos despliegues interactivos le permiten explorar sus datos, experimentar con cambios a las entradas, y ver los resultados de cambios hipotticos - todos en una sola pantalla. Este acercamiento a las estadsticas le ayuda a aprender sobre un proceso mientras le da una percepcin intuitiva para la conducta de las funciones estadsticas subyacentes.

Los despliegues de la entrada mltiples le permiten hacer anlisis de relacin de multidimensional. Cada seccin representa una entrada. Las barras cruzadas punteadas pueden moverse con el ratn para cambiar un valor del parmetro que causa todos los otros parmetros (entradas) para poner al da simultneamente.

Statistics Toolbox ofrece despliegues interactivos que le permiten experimentar y aprender sobre toolbox contiene una interface de visualizacin y herramientas del anlisis. La herramienta interactiva se muestra sobre el modelo obtenido el comando rsmdemo, se muestran conceptos en plan de experimentos y planificacin de regresin.

2.- LIBRERIAS Librera de Aplicaciones de MATLAB Signal Processing Toolbox MATLAB tiene una gran coleccin de funciones para el procesamiento de seal en el Signal Processing Toolbox. Este incluye funciones para: Anlisis de filtros digitales incluyendo respuesta en frecuencia, retardo de grupo, retardo de fase. Implementacin de filtros, tanto directo como usando tcnicas en el dominio de la frecuencia basadas en la FFT. Diseo de filtros IIR, incluyendo Butterworth, Chebyschev tipo I, Chebyshebv tipo II y elptico. Diseo de filtros FIR mediante el algoritmo ptimo de Parks-McClellan. Procesamiento de la transformada rpida de Fourier FFT, incluyendo la transformacin para potencias de dos y su inversa, y transformada para no potencias de dos.

The MATLAB C Math Library La MATLAB C Math Library proporciona al usuario la capacidad computacional de MATLAB en una librera 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 creacin de aplicaciones 'stand alone'. Para los usuarios clsicos 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 tecnologa MATLAB, esta tecnologa ofrece una nueva va para la reduccin del tiempo de desarrollo y puesta a punto de aplicaciones. La MATLAB C Math Library proporciona una amplia gama de funciones clsicas del programa MATLAB , proporcionadas como libreras objeto, incluyendo bsicamente las siguientes categoras de funciones presentes en MATLAB y archivos M compilados: Algebra lineal. Funciones matemticas elementales y especializadas. Operadores lgicos y aritmticos. Matrices elementales y manipulacin de vectores.

Matrices especiales. Estadstica bsica y anlisis de datos. Polinomios e interpolacin. Gestin de cadenas de caracteres. Entradas y Salidas. Gestin de memoria y errores.

(Nota: Las funciones del tipo Handle Graphics no estn incluidas en la C Math Library). Desarrollo de aplicaciones utilizando la MATLAB C Math Library La construccin y desarrollo de aplicaciones utilizando esta librera es un proceso de amplias perspectivas una vez se tiene un dominio adecuado de su operativa. El producto est dividido en dos categoras (como libreras objeto): la librera (built-in library) contiene versiones de las funciones de MATLAB en lenguaje C del tipo numrico, lgico y utilidades. Por otra parte la librera de toolboxes (toolbox library) contiene versiones compiladas de la mayora de archivos M de MATLAB para clculo numrico, anlisis de datos y funciones de acceso a archivos y matrices. En equipos UNIX estas libreras pueden ser igualmente obtenidas como libreras de tipo esttico (static libraries) o bien como libreras compartidas (shared libraries). Respecto al mundo PC, estas libreras pueden obtenerse como DLL's en el entorno Microsoft Windows o como libreras compartidas en equipos Apple MacIntosh.

Utilizacin de MATLAB y de su compilador Para construir una aplicacin del tipo 'stand alone' que incorpore cdigo originalmente desarrollado como archivos M de MATLAB, debern de seguirse los pasos siguientes: Utilizar el compilador de MATLAB para convertir archivos M en C mediante la utilizacin de la instruccin mcc -e (la cual es externa a MATLAB). Compilar el cdigo C fuente en cdigo objeto utilizando un compilador ANSI C. Enlazar el cdigo resultante con la MATLAB C Math Library y con cualquier tipo de archivos y programas especficos que hayan sido previamente definidos por el usuario.

Velocidad y Precisin Los algoritmos utilizados en la MATLAB C Math Library han sido desarrollados por un grupo de renombrados expertos en programacin algortmica de funciones de tipo matemtico (algebra lineal y clculo numrico). Las funciones de lgebra lineal han sido obtenidas de las libreras mundialmente reconocidas LINPACK y EISPACK. La MATLAB C Math Library contiene ms de 300 funciones numricas, lgicas y de utilidad. Todas estas funciones le permitirn operar en datos de tipo escalar, vectorial o matricial con la misma facilidad sintctica. Requerimientos La librera MATLAB C Math Library cumple con la normativa estndar ANSI para compiladores C. Finalmente, la librera trabajar con aquellos enlazadores que vienen suministrad os con la mayora de compiladores ANSI C. THE 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 cdigo C optimizado procedente de archivos M -M files- de MATLAB. Este compilador puede ser utilizado de dos modos: Como un generador MEX automtico. Pueden convertirse archivos M en funciones C ejecutables que se ejecutaran desde dentro de MATLAB. Como un generador de cdigo C fuente. Pueden construirse aplicaciones que se ejecutaran independientemente de MATLAB. Estas aplicaciones externas requieren de la MATLAB C Math Library, que est disponible separadamente.

Mediante la conversin automtica de archivos M en cdigo C fuente, el compilador MATLAB elimina consumo de tiempo y la conversin manual de cdigo. Todo el proceso de conversin, compilacin y enlazado se inicia a travs de una simple instruccin de MATLAB. Generacin Automtica de archivos MEX. El compilador de MATLAB automatiza la creacin de archivos MEX de C (MATLAB Ejecutables). Los archivos MEX contienen cdigo objeto que es dinmicamente enlazado como 'runtime' en el entorno MATLAB por el intrprete del programa. El proceso en cuestin se realiza en tres pasos: El compilador de MATLAB traduce las funciones MATLAB en sus funciones equivalente en lenguaje C. La instruccin MATLAB cmex llama al compilador y al enlazador del sistema para construir un fichero MEX objeto. El intrprete de MATLAB enlaza automticamente la funcin de MATLAB como 'runtime'.

Mientras se efecta una conversin de los archivos M en archivos MEX, el compilador realiza llamadas a las rutinas de la librera C para muchas de las instrucciones contenidas en el propio ncleo 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 cdigo fuente C para incorporarlos posteriormente en los archivos externos desarrollados en lenguaje C, si ese es el caso. Esta opcin es ideal para usuarios que quieren sacar la mxima ventaja de MATLAB desde cualquier otra aplicacin o producir cdigo C eficiente a partir de los algoritmos desarrollados con MATLAB. Los desarrollos del tipo 'standalone' requieren para ello de la MATLAB C Math Library. Obsrvese que las funciones grficas de MATLAB no estn incluidas. Para construir aplicaciones 'stand-alone' se debera seguir los siguientes pasos: Utilizar el compilador de MATLAB para convertir archivos M en C con la instruccin externa mcc -e. Compilar el cdigo C fuente en cdigo objeto utilizando un compilador C. Enlazar el cdigo resultante con las libreras matemticas C de MATLAB y los archivos especficos de que dispongamos.

Rendimiento del compilador Mediante la compilacin de los archivos M podemos obtener un rendimiento significativo. La velocidad de mejora de este rendimiento, depende fuertemente de cada aplicacin. En algunos casos el rendimiento puede mejorar hasta en 200 veces la ejecucin si la comparamos con el modo de trabajo interpretado del programa. Las operaciones matriciales y vectoriales ejecutadas desde MATLAB ya estn fuertemente optimizadas en su diseo. Sin embargo, mediante la utilizacin del compilador se obtendrn significativas mejoras.

Opciones de ajuste del rendimiento El compilador de MATLAB ofrece varias opciones que permiten generar el programa final de la manera ms eficiente. Por ejemplo, Ud. puede directamente: Tratar todas las variables en archivos como datos enteros y/o reales. Utilizar una variable concreta como variable escalar, vectorial, entera, real o una combinacin de estas. Desactivar el control de parmetros de entrada y el redimensionamiento dinmico de vectores.

Requerimientos del sistema Para utilizar el compilador de MATLAB para crear archivos MEX se necesita la versin de MATLAB 4.2c y tener instalado uno de los siguientes compiladores de lenguaje C: PC/Microsoft Windows o o MetroWerks CodeWarrior C V.7 MPW MrC V.1.0b2 o PPCC versin 1.0.5 Metaware High C/C++ V.3.0 o superior. Watcom C V.10.0 o superior

Power MacIntosh

680x0 MacIntosh MPW C Versin 3.4 UNIX y VMS

Cualquier compilador ANSI C (Nota: El compilador de SunOS 4.1.X no es un compilador ANSI C). Cualquiera que sea el equipo informtico que vaya a utilizarse para desarrollar aplicaciones 'stand alone' se requiere, adems del compilador de MATLAB, que se tengan las MATLAB C Math Library y un compilador ANSI C. Limitaciones del cdigo compilado Ciertas instrucciones, como load y eval, no estn soportadas por el compilador de MATLAB. Este no puede generar cdigo de los diagramas de bloques de SIMULINK. Los toolboxes de MATLAB pueden incluir archivos MEX y otros componentes que no son compilables. SYMBOLIC MATH TOOLBOX El Toolbox de Matemtica Simblica, aade a MATLAB la capacidad de realizar clculos simblicos basados en MAPLE V soportando adems (The Extended Symbolic Math Toolbox) las libreras especializadas, y los programas realizados para este ltimo. Entre otros, los principales tipos de operaciones soportados son los siguientes: Algebra simblica: Derivacin, integracin y simplificacin de expresiones matemticas. Algebra lineal exacta: Inversas, determinantes, autovalores y formas cannicas de matrices simblicas. Aritmtica de precisin variable: Evaluacin de expresiones matemticas con diversos grados de precisin.

Resolucin de ecuaciones: Resolucin numrica y simblica de ecuaciones algebraicas y diferenciales. Funciones matemticas especiales: Evaluacin de la mayora de las funciones utilizadas en matemticas aplicadas.

Existen dos versiones del mismo Toolbox. The Basic Symbolic Math Toolbox es una coleccin de ms 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 caractersticas de programacin de MAPLE, y el acceso a los paquetes de funciones de ms de veinte campos de las matemticas especiales aplicadas. Es posible utilizar este Toolbox sin conocimiento previo de MAPLE, ya que los archivos contenidos en l son totalmente autnomos. Sin embargo, si lo que se desea es obtener toda la potencia de clculo del entorno, ser necesario un amplio conocimiento del manejo y la programacin de MAPLE Optimization Toolbox El toolbox de optimizacin 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 resolucin de algunos tipos de problemas matriciales en extremos. Resulta conveniente para una comprensin y mejor manejo de la toolbox poseer conocimientos bsicos previos de anlisis de funciones reales, matrices y teora de extremos. Algunas de las reas bsicas que cubre este toolbox para MATLAB son las siguientes: Clculo de un extremo local (mximo o mnimo) de una funcin real f(x), en general multivariable y no lineal, sin imponer ninguna restriccin o condicin a la solucin. Como caso particular, se incluye una rutina especial para problemas de mnimos cuadrados no lineales. Clculo de un extremo local (mximo o mnimo) de una funcin real f(x), en general multivariable y no lineal, condicionado a que la solucin satisfaga ciertas condiciones de desigualdad (g(x) <=0) y/o igualdad (g(x)=0). Problemas de aproximacin a un conjunto de objetivos. Clculo de soluciones de un sistema de ecuaciones continuas y, en general, no lineales. Solucin de problemas minimax. Programacin lineal. Programacin cuadrtica. Problemas de mnimos cuadrados no negativos.

Image Processing Toolbox Este Toolbox proporciona a MATLAB de un conjunto de funciones que ampla las capacidades del producto para realizar desarrollo de aplicaciones y de nuevos algoritmos en el campo del proceso y anlisis de imgenes. El entorno matemtico y de creacin de MATLAB es ideal para el procesado de imgenes, ya que estas imgenes son, al fin y al cabo, matrices. Este toolbox incorpora funciones para: Diseo de filtros. Mejora y retocado de imgenes. Anlisis y estadstica de imgenes. Operaciones morfolgicas, geomtricas y de color. Transformaciones 2D.

El proceso de imgenes es un campo de trabajo absolutamente crucial para aquellos colectivos e industrias que estn trabajando en reas como diagnstico mdico, astronoma, geofsica, ciencias

medioambientales, anlisis de datos en laboratorios, inspeccin industrial, etc. Los programas actuales de procesado y anlisis de imgenes se clasifican actualmente en dos categoras: libreras de bajo nivel para programadores profesionales y paquetes de aplicacin con capacidades limitadas de personalizacin. Ambos tipos de aplicaciones estn, generalmente, pensados para tareas bsicas de visualizacin de datos y 'rendering'. Sin embargo, muchos de ellos adolecen de la posibilidad de efectuar anlisis numricos de los mismos. El Image Processing Toolbox entra dentro de la categora de familias de funciones que, desde el entorno de trabajo de MATLAB, permitir al profesional efectuar una exploracin exhaustiva y desde un punto de vista matemtico de las imgenes y grficos que se deseen tratar o analizar. Algunas de las funciones ms importantes incluidas dentro de este toolbox son las siguientes: Anlisis de imgenes y estadstica. Diseo de filtros y recuperacin de imgenes. Mejora de imgenes. Operaciones morfolgicas. Definicin de mapas de colores y modificacin grfica. Operaciones geomtricas. Transformacin de imgenes. Proceso de bloques

Neural Network Toolbox Este toolbox proporciona funciones para el diseo, inicializacin, simulacin y entrenamiento de los modelos neuronales de uso ms extendido en la actualidad: Perceptrn, redes lineales, redes de retropropagacin, redes de base radial, aprendizaje asociativo y competitivo, aplicaciones autoorganizativas, aprendizaje de cuantizacin vectorial, redes de Elman y redes de Hopfield. Mediante la inclusin de un amplio abanico de funciones y procedimientos escritos para MATLAB, el usuario puede mediante el Neural Network Toolbox efectuar el diseo de arquitecturas complejas, combinando los modelos que ya estn proporcionados por defecto en el toolbox. Asimismo, el usuario puede definir sus propias funciones de transferencia e inicializacin, reglas de aprendizaje, funciones de entrenamiento y estimacin de error para usarlas posteriormente con las funciones bsicas. El toolbox, aporta las facilidades y prestaciones grficas de MATLAB para el estudio del comportamiento de las redes: visualizacin grfica de la matriz de pesos y vector de desplazamiento mediante diagramas de Hinton, representacin de errores a lo largo del entrenamiento, mapas de superficie de error en funcin de pesos y vector de desplazamiento, etc. Estos grficos resultan muy tiles en el estudio de la convergencia y estabilidad de los algoritmos de aprendizaje. Este toolbox incluye un manual de introduccin al campo de las redes neuronales junto con una coleccin de demostraciones y aplicaciones muy didcticas, tiles para el estudio y la profundizacin en las cuestiones fundamentales de los paradigmas de redes neuronales bsicos. Asimismo, se proporcionan las referencias bibliogrficas ms significativas referidas a los distintos modelos que aparecen en la aplicacin. A pesar de que el estudio de las redes neuronales se inici ya hace algunas dcadas, las primeras aplicaciones slidas dentro de este campo no han tenido lugar hasta hace unos doce aos y aun ahora constituyen un rea de investigacin en rpido desarrollo. Este toolbox tiene por tanto una orientacin diferente a aquellos destinados a campos como el de sistemas de control u optimizacin donde la terminologa, fundamentos matemticos y procedimientos de diseo estn ya firmemente establecidos y se han aplicado durante aos. Este toolbox pretende que sea utilizado para la valoracin y diseo de diseos neuronales en la industria y sobre todo en educacin e investigacin. Esta herramienta tiene el soporte de MATLAB 4.2c y SIMULINK. La librera 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 disear 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 dilogo de cada capa la matriz de pesos apropiada y el vector de desplazamiento. Usando el generador de cdigo C de SIMULINK es posible generar automticamente el cdigo correspondiente a un diseo neuronal. Dentro de las aplicaciones bsicas de este toolbox, cabe destacar aquellas que estn orientadas a aquellas que se enmarcan dentro del campo de la industria aeroespacial y automocin (simulacin, sistemas de control, autopilotaje), banca, defensa (reconocimiento de patrones, procesamiento de seales, identificacin de imgenes, extraccin de caractersticas, compresin de datos), electrnica (control de procesos, anlisis de errores, modelado no lineal, sntesis de voz, visin por ordenador), economa (anlisis financiero, anlisis predictivo), industria (control de procesos, identificacin en tiempo real, sistemas de inspeccin), medicina, robtica (control de trayectorias, sistemas de visin), reconocimiento y sntesis del habla, telecomunicaciones (control de datos e imgenes, servicios de informacin automatizada, traduccin del lenguaje hablado en tiempo real, diagnosis, sistemas de enrutamiento), etc. El toolbox contiene muchos ejemplos de algunas de estas aplicaciones. NON LINEAR CONTROL DESIGN TOOLBOX Se trata del primer producto comercialmente disponible en la actualidad para el diseo de controladores automticos en entornos de sistemas no lineales. Este nuevo toolbox est pensado para ser utilizado exhaustivamente por ingenieros que disean controladores para industrias avanzadas, destacando el sector del automvil, ingeniera aeroespacial, control de procesos y empresas petroqumicas. Segn indica Jim Tung, Vicepresidente del rea de desarrollo de The MathWorks Group, Inc. "El proceso de aproximacin tradicional en el diseo de controladores en sistemas no lineales ha sido hasta la fecha linealizarlos de algn modo para aplicar posteriormente un mtodo de diseo lineal que requiere de importantes ajustes manuales. El toolbox NCD permite por primera vez a los ingenieros de control disear directamente sus controladores en un ambiente no lineal, obviando la aproximacin lineal y otros procedimientos auxiliares que antes se necesitaban de modo imperativo. Los resultados ahora son de elevada calidad, controladores ms robustos y un ciclo de diseo mucho ms rpido." El toolbox NCD extiende, adems, las prestaciones que incorpora SIMULINK, el entorno de desarrollo de diagramas de bloques para la modelacin y anlisis de sistemas dinmicos de The MathWorks, Inc. El usuario puede incluir uno o ms bloques NCD en el sistema y describir posteriormente de modo totalmente grfico las restricciones, tolerancias y lmites de permisividad de cada uno de estos bloques. Los mtodos avanzados de optimizacin y la simulacin del proceso son posteriormente analizados y ajustados mediante la inclusin 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 utilizan en un sistema, destacando los controladores PID, LQR, LQG y estructuras H infinito. El diseador de sistemas puede utilizar el mtodo de Montecarlo para el diseo y anlisis 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 diseadores podrn beneficiarse de muchos de los toolboxes desarrollados para este entorno en materia de diseo de sistemas lineales. Por ejemplo, podrn utilizarse toolboxes para el anlisis de sistemas lineales para el diseo inicial; posteriormente, podrn utilizarse modelos no lineales ms sofisticados utilizando SIMULINK. Adems, puede invocarse NCD para un mejor ajuste paramtrico y para la optimizacin de los controladores. Este toolbox se encuentra actualmente disponible para una amplia variedad de plataformas informticas, destacando ordenadores personales tipo PC o Apple MacIntosh, numerosas estaciones UNIX y ordenadores Digital VAX VMS.

NAG FOUNDATION TOOLBOX Este toolbox proporciona un acceso interactivo, desde dentro de MATLAB, a un amplio conjunto de funciones matemticas y estadsticas contenidas en las clsicas NAG Fortran Libraries de la empresa The Numerical Algorithms Group Incorpora ms de 200 archivos M, los cuales cubren un amplio espectro de reas de inters, entre las que cabe destacar optimizacin, ecuaciones diferenciales ordinarias y en derivadas parciales, cuadratura, estadstica, etc. La NAG Foundation Toolbox aade

tambin rutinas concretas para campos especficos tales como la resolucin 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 resolucin de ecuaciones lineales. Los nombres de las funciones han sido directamente tomados de las especificaciones de funcin clsica que aade The Numerical Algorithms Group para sus librerias. Como resultado de esto, aquellos usuarios de las libreras Fortran de NAG que a la vez sean usuarios de MATLAB, encontraran bastante cmodo acceder a las rutinas NAG utilizando la nomenclatura original. La NAG Foundation Toolbox es resultado de la colaboracin corporativa que actualmente estn llevando a cabo The MathWorks Group y The Numerical Algoriths Group para proporcionar un rpido acceso desde MATLAB a un importante de rutinas matemticas contenidas en la NAG Foundation Library. Actualmente, este toolbox incorpora 250 rutinas matemticas. Algunas de las reas de cobertura de la NAG Foundation Toolbox son las siguientes: Ceros de polinomios Races de una o ms ecuaciones de tipo trascendental. Suma de series. Cuadraturas. Ecuaciones diferenciales ordinarias. Ecuaciones diferenciales en derivadas parciales. Estadstica no paramtrica. Anlisis de series temporales. Rutinas de clasificacin. Aproximacin de funciones especiales. Aproximacin de curvas y superficies. Maximizacin y minimizacin de funciones. Factorizacin de matrices. Valores y vectores propios. Resolucin de ecuaciones lineales simultneas. Ecuaciones lineales (LAPACK). Estadstica bsica. Anlisis de correlacin y regresiones. Mtodos multivariantes. Generacin de nmeros aleatorios.

3.- VENTANAS

Como vemos la interface de usuario de MATLAB no es muy distinta a la de otras aplicaciones a las cuales estamos acostumbrados, pero la verdadera diferencia consiste en la utilidad que presta como aplicacin para la investigacin y el desarrollo de modelos matemticos y estadsticos los cuales son tratados de forma interactiva, y con superposicin de ventanas en un entorno de fcil comprensin e interpretacin de los datos arrojados como resultados de los distintos rangos de calculo que se pueden proporcionar a cada modelo de tal forma que podemos hacer estudios de comportamiento y tratar de determinar cmo se comportar una determinada variable a travs de una serie de experimentacin en tiempo real. Las ventanas de despliegue grafico son muy similares, en las cuales el nfasis de la presentacin se pone en la grfica generada y no en el entorno de trabajo, es por esta razn que puede parecer que el diseo de esta aplicacin es escueto, pero debemos recordar que como todo este tipo de aplicaciones su desarrollo est orientado al logro de un objetivo especfico como es el resolver modelos matemticos. 3.1.- OPERACIONES CON VECTORES Y MATRICES Definiendo Matrices y Vectores El entorno de desarrollo nos permite resolver problemas de clculo complejo y es as como en el clculo matricial y vectorial se puede hacer buen uso de MATLAB, a continuacin se ejemplifica el uso del mismo, tengamos en cuenta que una matriz es un arreglo vectorial, por lo tanto el uso de las formas matriciales son aplicables a las formas vectoriales. Si queremos definir la siguiente matriz en MATLAB:

Entonces escribimos:

A=[1 2 3 4;5 6 7 8;9 10 11 12;13,14,15,16]; (El smbolo "" denota el prompt de MATLAB y no se escribe al entrar instrucciones). El ";" al final de la instruccin omite el "eco" o salida a la pantalla. La instruccin x=4:-1:1 general el vector fila x= [4,3, 2,1]. La instruccin C=A (3:4,1:3); se refiere a la submatriz

de A. Tambin D=A ([1,3] ,3:4) genera

Matrices Especiales En MATLAB podemos generar matrices especiales con las siguientes instrucciones: rand(n,m) eye(n) zeros(n,m) - matriz cero de ones(n,m) Combinando estas instrucciones podemos generar matrices bastante complicadas. Por ejemplo, la instruccin E=[eye(2),ones(2,3);zeros(2),[1:3;3:-1:1]] genera la matriz

La instruccin round(x) redondea "x" al entero ms cercano a "x". Podemos combinar funciones en MATLAB. Por ejemplo, round (10*rand (4)) genera una matriz con entradas aleatorias entre 0 y 10. Aritmtica de Matrices Considere las siguientes matrices:

Entonces las operaciones A*B (producto matricial de A con B), A+B (suma de A ms B), 3*A (multiplicacin escalar de 3 por A) tienen los siguientes resultados: A*B ans = 16 19 13 10 11 7 A+B ??? Error using ==> + Matrix dimensions must agree. 3*A ans = 12 15 6 9 Note que MATLAB "anuncia" que A+B no se puede calcular. Las operaciones A' (transpuesto de A), inv(A) (inversa de A), y A^3 (esto es A*A*A) tienen como resultados: A' ans = 42 53 inv (A) ans = 1.5000 -2.5000 -1.0000 2.0000 A^3 ans = 174 235 94 127 Si precedemos las operaciones matriciales "*", "^" con el punto ".", entonces estas se hacen termino a trmino. Por ejemplo A.*C y A. ^2 generan: A.*C ans = -4 10 4 12 A. ^2

ans = 16 25 4 9 Solucin de Sistemas Lineales Considere le sistema lineal

Definimos la matriz de coeficientes y el lado derecho por las instrucciones: A= [1 -2 3; 4 1 -2; 2 -1 4]; b= [1 -1 2]'; Note el transpuesto en b para hacerlo un vector columna. Vamos a resolver este sistema por tres mtodos: eliminacin Gaussiana forma echelon reducida o mtodo de Gauss-Jordan mtodo de la inversa

En el mtodo de Gauss-Jordan, luego de obtener la forma echelon de la matriz de coeficientes aumentada, eliminamos tambin la parte de arriba de la matriz hasta producir una matriz donde las columnas con unos, solo tienen un uno. Esto se conoce como la forma echelon reducida (ver texto). Para comparar los tres mtodos utilizamos la instruccin flops de MATLAB que estima el nmero de operaciones de punto flotante entre dos llamadas sucesivas a flops. Una llamada de la forma flops(0) inicializa el contador de operaciones a cero. La sucesin de instrucciones: Flops (0) x=A\b x= -0.0417 0.4167 0.6250 flops lleva a cabo eliminacin Gaussiana en el sistema de arriba y produce como resultado: ans = 73 esto es, se necesitaron aproximadamente 73 operaciones de punto flotante (sumas, restas, multiplicaciones divisiones) para resolver el sistema con eliminacin Gaussiana. Para el mtodo de Gauss-Jordan tenemos:

Flops (0) rref ([A b]) ans = 1.0000 0 0 -0.0417 0 1.0000 0 0.4167 0 0 1.0000 0.6250 flops ans = 483 el cual requiere 483 operaciones de punto flotante. Finalmente el mtodo de la inversa se realiza con la siguiente secuencia de instrucciones: flops (0) x=inv (A)*b x= -0.0417 0.4167 0.6250 flops ans = 108 el cual toma 108 operaciones. Vemos pues que eliminacin Gaussiana es el mejor de los tres mtodos lo cual es cierto en general. Usando MATLAB podemos estudiar la relacin entre la solubilidad del sistema Ax=b y la no singularidad de la matriz de coeficientes A. En clase vimos que el sistema Ax=b tiene solucin nica para cualquier lado derecho b si y solo si la matriz A es no singular. Qu sucede si A es singular? Entonces Ax=b no tiene solucin? Si A es singular el sistema Ax=b puede tener solucin para algunos b's pero de seguro hay al menos un b* para el cual Ax=b* no tiene solucin. Vamos a genera una matriz singular con MATLAB: A=round (10*rand (6)); A (:,3)=A (:,1:2)*[4 3]' A= 2 5 23 9 7 3 0 8 24 8 9 6 7 0 28 5 8 8 7 1 31 1 3 10 9 5 51 7 0 4 4 7 37 4 7 2 (Como usamos la instruccin rand, el resultado de esta y cualquier secuencia de instrucciones que use esta funcin de MATLAB, no siempre ser el mismo). La primera instruccin genera una matriz aleatoria con entradas enteras entre 0 y 10, y con la segunda instruccin remplazamos la tercera columna de A

con cuatro veces la primera columna ms tres veces la segunda columna. La matriz resultante es singular! (Explique esto sin calcular el determinante). Generamos ahora un lado derecho arbitrario mediante la instruccin: b=round (20*(rand (6,1)-0.5)) b= 10 4 5 3 -9 3 ntradas enteras entre -10 y 10. Resolvemos el sistema Ex=b calculando la forma echelon reducida de la matriz de coeficientes aumentada [A b]: rref([A b]) ans = 1040000 0130000 0001000 0000100 0000010 0000001

Como la ltima fila es de la forma el sistema es inconsistente, i.e., no tiene solucin. Recuerde que A es singular! Esto no quiere decir que Ax=b nunca tenga solucin. Si definimos c=A*b, con el b de arriba digamos, el sistema Ax=c tiene solucin x=b (por qu?). De hecho si calculamos la forma echelon reducida de [A c] tenemos: c=A*b; rref([A c]) ans = 1 0 4 0 0 0 30 0 1 3 0 0 0 19 0001003 0 0 0 0 1 0 -9 0000013 0000000 el cual denota un sistema consistente dependiente con soluciones:

donde x3 es arbitrario. Funciones de Matrices MATLAB posee una gran cantidad de funciones matriciales. De las ms comunes tenemos:

min(A), max(A) - dan el mnimo y mximo respectivamente por columnas de A sum(A), prod(A) - producen la suma y producto respectivamente por columnas de A norm(A,p) - norma p de la matriz A donde p=1,2, inf eig(A) - vector cuyos componentes son los valores propios de A det(A) - el determinante de A inv(A) - la matriz inversa de A

3.2.- GRAFICAS MATLAB provee excelentes funciones para grficas en dos, tres y cuatro dimensiones. Veamos un par de ejemplos sencillos. Suponga que queremos trazar la grfica de la funcin

Esto lo podemos lograr con las instrucciones: x=-5:.1:5; y=x. ^2.*exp (-x. ^2); plot(x, y)

La primera instruccin divide el intervalo [-5,5] en subintervalos de largo 0.1, la segunda instruccin evala la funcin en los puntos de la particin, y finalmente graficamos los resultados con plot. La instruccin plot tiene opciones para cambiar patrones del trazado, poner titulos, etc. Supongamos ahora que queremos dibujar la superficie:

Esto lo hacemos con la secuencia de instrucciones: x=-5:.4:5; y=x; [X,Y]=meshgrid(x,y); Z=X.^2.*exp(-Y.^2); surf(X,Y,Z)

Las primeras dos instrucciones dividen los ejes de "x" y "y" en subintervalos de largo 0.4; la tercera instruccin genera una rejilla en el conjunto [-5,5] con cuadraditos de lados 0.4 como se ilustra en la siguiente figura:

La cuarta instruccin evala la funcin en los puntos de la rejilla, y finalmente trazamos la superficie con surf. 3.3.- ANLISIS DE VOZ El anlisis de voz propiamente no es funcional pues el modelo que corresponde a la modulacin interactiva y las distintas frecuencias que aunque estn sometidas a un rango especifico varan en un nmero infinito, por esta razn el estudio se refiera a la acstica en si como un modo de generar modelos simples los cuales se van acoplando a las necesidades de la investigacin en la cual es requerido, y es as como muchas de estas investigaciones han aportado soluciones efectivas para el desarrollo de mejores programas de reconocimiento de voz. Introduccin a modelos fsicos Cul es la causa de que la presin de aire fluyendo a travs de un tubo hueco produzca ondas de presin en el aire del exterior que conocemos como notas? Con modelos fsicos se intenta describir matemticamente la acstica de los instrumentos tradicionales e implementar digitalmente los algoritmos para poder reproducir estos fenmenos. En la actualidad se ha desarrollado suficientemente la tecnologa para que se puedan manipular estos modelos al mismo nivel que los originales acsticos en tiempo real, y por eso han sido objeto de mucho inters comercial. Pero, por supuesto, la imitacin nunca puede ser mejor que el original, as que todava la intencin principal es descubrir la naturaleza de los instrumentos. Al contrario de la sntesis tradicional de muestras, se gobierna un modelo fsico por la interfaz entre el ejecutante y el instrumento. Variables como la presin de aire y la embocadura para instrumentos de viento y la presin del arco y posicin del dedo para los de cuerdas fijan qu oscilaciones afectan al medio resonante, que como consecuencia emite ondas sonoras a su entorno. Con ello se ha perdido la generalidad de la sntesis muestreada y la posibilidad de influir la seal directamente, a cambio de un control del modelo ms amigable al usuario, intuitivo y tradicional.

Los modelos fsicos requieren menos capacidad de datos que la sntesis muestreada si hay algoritmos efectivos, pero los gastos elevados se encuentran al desarrollar estos algoritmos que es necesario adaptar a medida para cada tipo de instrumento que tiene distintos fenmenos acsticos. As como la sntesis de muestras ha contribuido a clasificar los distintos instrumentos por su timbre, los modelos fsicos han contribuido a refinar la clasificacin por sus cualidades fsicas. Los dos grupos principales son instrumentos de cuerdas e instrumentos de viento, ambos subdivididos en varios grupos. Para modelar un instrumento se divide en dos partes funcionales: el excitador y el resonador. El excitador se puede simular como una seal entrada no lineal para el resonador, el cual se puede modelar como una funcin transferencia lineal que produce la seal salida audible. Los dos se unen con realimentacin. La teora ms aplicada para el resonador de modelos fsicos es la denominada teora de gua de ondas. Se basa en la solucin analtica de la ecuacin de la propagacin de ondas en el material. La ecuacin es adecuada para cualquier gua de ondas unidimensional, tanto cuerdas como tubos huecos: Ky = E Para cuerdas: K = tensin de la cuerda E = densidad de masa lineal y = desplazamiento de la cuerda = aceleracin de la cuerda y = curvatura de la cuerda Adems hay que modelar las prdidas de energa debido a la resistencia del aire, la rigidez, la friccin interno etc., que hace apagarse al sonido. Se puede implementar todo eso muy efectivamente mediante componentes digitales como lneas de retardo, unidades de acoplo y filtros. El excitador al ser no lineal es ms difcil de modelar que el resonador. Adems existen diferentes tipos que implican diferentes conjuntos de ecuaciones, pero hay buenos modelos para estos tambin. Para mantener una nota constante el excitador tiene que proporcionar exactamente la misma energa que desaparece en el resonador; un cambio en la energa proporcionada da un cambio correspondiente en la potencia sonora. Cada resonador tiene lmites superior e inferior que determinan qu suministro de energa resulta en un sonido conteniendo la frecuencia fundamental de la nota deseada. Diferentes opciones para desarrollos posteriores En principio esta lnea de investigacin no tena un fin comercial, sino que era un intento de entender la acstica de los instrumentos acsticos. Hoy da los algoritmos resultantes son tan efectivos, la capacidad de clculo tan elevada y la interfaz al ejercitante tan buena que tambin es un mtodo de producir instrumentos musicales comerciales. En esta tarea, hay ngulos diferentes de acometer los problemas. En un extremo est el fsico que analiza los mecanismos de generacin, en el otro est el diseador de instrumentos que desea buenos resultados en la calidad del sonido. Uno de los problemas bsicos y hasta ahora no resueltos es el de los pequeos mrgenes, que son tan importantes. Un cambio minsculo de p.ej. la presin de arco o la embocadura produce cambios bastante audibles, y an es un misterio qu separa un violn bueno y uno excelente. Hay que bajar a un nivel muy detallado que en cualquier otro contexto electroacstica se podra pasar por alto, lo cual es un gran desafo para el futuro. Lo ms importante ser siempre centrarse en los aspectos musicales aunque las matemticas sean bastante interesantes de por s. Por qu?

La ventaja de la acstica musical es la posibilidad de utilizar el excelente odo humano como mecanismo de control para las teoras deducidas, que tambin son aplicables para objetivos no musicales. Por eso los modelos fsicos pueden utilizar la realidad como su hiptesis verificativa. La finalidad ser llegar un da a conocer los fenmenos acsticos de los instrumentos tan bien que se logre mejorar y/o construir nuevos instrumentos acsticos, y poder modelar instrumentos ficticios inspirados en los tradicionales pero que no necesariamente se puedan construir en la realidad. Tambin hay un gran inters comercial por estos modelos, ya que son buenas copias de los instrumentos tradicionales, pero mucho ms flexibles. Se pueden presentar facilidades como auriculares, MIDI, salida de jack, secuenciador, varios instrumentos parecidos en el mismo modelo, y formatos pequeos y ligeros.

4.- FUNCIONES ESPECIALES LISTA PARCIAL DE FUNCIONES Funciones matemtica Funcionales especiales y elementales Funciones gamma, beta y elpticas. Transformacin de sistemas de coordenadas. Matriz identidad y otras matrices elementales. Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc. Partes reales, imaginarias y complejas conjugadas. Funciones trigonomtricas y de potencias.

Algebra lineal numrica Valores propios y descomposicin de matrices. Funciones generales de evaluacin de matrices. Determinantes, normas, rangos, etc. Matrices inversas y factorizacin de matrices. Matriz exponencial, logartmica y races cuadradas.

Polinomios e interpolacin Interpolacin 1-D y 2-D. Construccin polinomial. Interpolacin por splines cbicos. Diferenciacin de polinomios. Evaluacin de polinomios. Multiplicacin y divisin de polinomios. Residuos de polinomios y residuos.

Mtodos numricos no lineales Bsqueda de ceros en funciones de una nica variable. Minimizacin de funciones de una o ms variables. Resolucin numrica de integrales. Solucin numrica de ecuaciones diferenciales ordinarias.

Estadstica y anlisis de Fourier Convolucin 1-D y 2-D. Filtros digitales 1-D y 2-D. Transformadas de Fourier 1-D y 2-D y su inversa. Coeficientes de correlacin y matrices de covarianza. Deconvolucin. Magnitudes y ngulos de fase. Funciones max, min, sum, mean y otras funciones de estadstica bsica.

Operaciones algebraicas y lgicas Suma, resta, multiplicacin, divisin y potencias de matrices. Matrix traspuesta. Operadores lgicos AND, OR, NOT y XOR.

Utilidades Gestin y mantenimiento de errores. Conversin de tipos de datos Fortran. Funciones de fecha y hora. Clasificacin de matrices. Conversin de nmeros a cadenas y viceversa.

REFERENCIAS BIBLIOGRAFICAS 1. MATLAB User's Guide, The MathWorks, Inc., Massachusetts, 1995. 2. The MATLAB Handbook, E. Part-Enander, A. Sjoberg, B. Melin, and P. Isaksson, AddisonWesley, New York, 1996.