Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Matlab




Enviado por felcos



    1.- INTRODUCCION AL
    MATLAB

    1.2.- INICIACIÓN AL
    MATLAB

    1.3-
    CARACTERÍSTICAS DEL ENTORNO

    1.4.- SALIDAS O
    PRESENTACIONES

    1.5.- FUNCIONES DE
    MATLAB

    1.6-
    EL MATLAB Y LA ESTADÍSTICA

    2.- LIBRERIAS
    3.- VENTANAS
    3.1.- OPERACIONES CON VECTORES Y MATRICES
    3.2.- GRAFICAS
    3.3.- ANÁLISIS DE VOZ
    4.- FUNCIONES ESPECIALES
    REFERENCIAS BIBLIOGRAFICAS

    Una herramienta poderosa para la investigación.

    El presente documento es una recopilación de
    información que puede ser útil para
    aquellos estudiantes interesados en conocer esta poderosa
    herramienta de calculo, simulación
    y modelado matemático que por demás está el
    mencionar en esta introducción todos los elogios de que es
    merecedor este singular programa de
    calculo matemático por su amplia área de
    aplicación en el estudio científico.

    1.- INTRODUCCION
    AL MATLAB.

    MATLAB es un entorno de computación y desarrollo de
    aplicaciones totalmente integrado orientado para llevar a cabo
    proyectos en
    donde se encuentren implicados elevados cálculos
    matemáticos y la visualización gráfica de
    los mismos. MATLAB integra análisis numérico, cálculo
    matricial, proceso de
    señal y visualización gráfica en un entorno
    completo donde los problemas y
    sus soluciones son
    expresados del mismo modo en que se escribirian radicionalmente,
    sin necesidad de hacer uso de la programación tradicional.

    MATLAB dispone también en la actualidad de un
    amplio abanico de programas de
    apoyo especializados, denominados Toolboxes, que extienden
    significativamente el número de funciones
    incorporadas en el programa
    principal. Estos Toolboxes cubren en la actualidad
    prácticamente casi todas las áreas principales en
    el mundo de la ingeniería y la simulación, destacando entre ellos el
    'toolbox' de proceso de
    imágenes, señal, control robusto,
    estadística, análisis
    financiero, matemáticas simbólicas, redes neurales, lógica
    difusa, identificación de sistemas,
    simulación de sistemas
    dinámicos, etc. es un entorno de cálculo
    técnico, que se ha convertido en estándar de la
    industria, con
    capacidades no superadas en computación y visualización
    numérica.

    De forma coherente y sin ningún tipo de fisuras,
    integra los requisitos claves de un sistema de
    computación técnico: cálculo
    numérico, gráficos, herramientas
    para aplicaciones especificas y capacidad de ejecución en
    múltiples plataformas. Esta familia de
    productos
    proporciona al estudiante un medio de carácter
    único, para resolver los problemas
    más complejos y difíciles.

    1.1.-
    ORIGEN

    MATLAB nace como una solución a la necesidad de
    mejores y mas poderosas herramientas
    de calculo para resolver problemas de calculo 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
    fácil al software matricial
    desarrollado por los proyectos LINPACK
    y EISPACK, que juntos  representan el estado del
    arte e
    software para
    computación matricial. Hoy MATLAB es usado en una variedad
    de áreas de aplicación incluyendo procesamiento de
    señales e imágenes,
    diseño de
    sistemas de control, ingeniería financiera e investigación médica. La arquitectura
    abierta facilita usar MATLAB y los productos que
    lo acompañan para explorar datos y crear
    herramientas personalizadas que proveen visiones profundas
    tempranas y ventajas competitivas.

    1.2.-
    INICIACIÓN AL MATLAB

    El Lenguaje de
    Computación Técnica MATLAB es un ambiente de
    computación técnica integrada que combina
    computación numérica,  gráficos y
    visualización avanzada y un lenguaje de
    programación de alto nivel.

    Sea cual fuere el objetivo, un
    algoritmo,
    análisis, gráficos, informes o
    simulación, MATLAB lo lleva allí. El lenguaje
    flexible e interactivo de MATLAB permite a ingenieros y
    científicos expresar sus ideas técnicas con
    simplicidad. Los poderosos y amplios métodos de
    cómputo numérico y graficación permiten la
    prueba y exploración de ideas alternativas con facilidad,
    mientras que el ambiente de
    desarrollo
    integrado facilita producir resultados prácticos
    fácilmente.

    MATLAB es la fundación
    numérica y gráfica para todos los productos de The
    MathWorks. MATLAB combina computación numérica,
    gráficos 2D y 3D y capacidades de lenguaje en un
    único ambiente fácil de usar.

    Con su amplio rango de herramientas para modelar
    sistemas de
    control, análisis, simulación 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 diseño
    de controles avanzados de MATLAB – Control System, Robust
    Control, µ-Analysis and Synthesis, Model Predictive
    Control, QTF Control Design y LMI control. Posteriores
    análisis y refinamientos pueden ser efectuados
    estableciendo una simulación interactiva en Simulink, y
    luego sintonizar automáticamente los parámetros
    usando el Nonlinear Control Design Blockset. Finalmente, usted
    puede generar código 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 análisis
    personalizado de señales y desarrollo de algoritmos
    DSP. Para simulación 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
    código C para su hardware
    designado.

    1.3- CARACTERÍSTICAS DEL ENTORNO

    Características de MATLAB :

    • Cálculos intensivos desde un punto de vista
      numérico.
    • Gráficos y visualización
      avanzada.
    • Lenguaje de alto nivel basado en vectores,
      arrays y matrices.
    • Colección muy útil de funciones de
      aplicación.

    Las poderosas capacidades de cálculo
    técnico de MATLAB se ponen a la disposición de los
    estudiantes, aunque limita el tamaño de las matrices a
    8192 elementos, la edición de estudiante mantiene toda la
    potencia de la
    versión profesional de MATLAB 4.0, en una forma
    diseñada para que los estudiantes puedan ejecutarlo en sus
    propios ordenadores personales bajo Windows.

    Toolbox especiales :

    Se incluyen el Toolbox de señales y Sistemas ( un
    conjunto de herramientas para el procesamiento de señal y
    para el análisis de
    sistemas de cuadro ) y el Toolbox Symbolyc Math ( herramienta
    de cálculo simbólico basada en Maple V
    ).

    A continuación presentamos la interfase de
    usuario de MATLAB 4.0 con el despliegue de una aplicación
    con grafica en 3D correspondiente al modelo
    Z=x^y-y^x su tabla de calculo y el análisis de la
    función.

    1.4.- SALIDAS O
    PRESENTACIONES

    MATLAB provee acceso inmediato a las características gráficas
    especializadas requeridas en ingeniería y ciencias.
    Potente graficación orientada a objetos 
    gráficos le permite graficar los resultados de su
    análisis, incorporar gráficos en sus modelos de
    sistemas, rápidamente presentar complejos 3-D objetos, y
    crear resultados de presentación, 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, símbolos, subíndices y
      superíndices
    • Selección expandida de símbolos
      marcadores de curvas
    • Gráficos de torta, de barras 3-D y
      gráficos de barras horizontales
    • Gráficos 3-D y sólido
      modelado
    • Representación de imágenes y archivos 
      I/O
    • Gráficos comentados
    • Leer/Escribir archivos de
      datos  Hierarchical Data Format (HDF)
    • Presentación de OpenGL software y hardware
    • Animación
    • Display de buffer x rápido y
      exacto
    • Soporte de colores
      verdaderos (24-bit RGB)
    • Fuentes múltiples de luz para
      superficies coloreadas
    • Vista basada en cámara y control de
      perspectiva
    • Iluminación Plana, Gouraud y Phong
    • Soporte eficiente de imagen de datos
      de 8-bit
    • Control  de eje y cámara
    • Propiedades de superficie y patch
    • Modelos de iluminación
    • Control gráfico de objetos
    • Impresión y representación de
      copias
    • Formatos gráficos exportables
    • Soporte de publicación de
      escritorio

    1.5.- FUNCIONES DE
    MATLAB

    Manipulación  y Reducción de
    Datos
    MATLAB tiene un rango completo de funciones para preprocesar
    datos para análisis, incluyendo:

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

    Numerosas operaciones para
    manipular arreglos multidimensionales, incluyendo
    reticulación e interpolación de datos, están
    también disponibles.

    Descriptivos Gráficos Para Explorar y Presentar
    Sus Datos
    Gráficos de propósitos generales y de
    aplicación específica le permiten visualizar al
    instante señales, superficies paramétricas,
    imágenes y más. Todos los atributos de los
    gráficos de MATLAB son personalizables, desde los
    rótulos de ejes al ángulo de la fuente de luz en las
    superficies 3-D . Los gráficos están integrados con
    las capacidades de análisis, de modo que usted puede
    mostrar gráficamente cualquier conjunto de datos sin
    editar, ecuación o resultado funcional.

    I/O Directo de Datos
    Usted puede ingresar y sacar datos de f MATLAB
    rápidamente. Las funciones están 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, permitiéndole trabajar con todos los formatos de
    datos. MATLAB también incluye soporte incorporado para
    formatos populares de archivos estándar.

    Computación Simbólica Integrada
    Integrando el motor
    simbólico Maple V® con MATLAB, los Symbolic Math
    Toolboxes le permiten mezclar libremente computación
    simbólica y numérica una sintaxis simple e
    intuitiva.

    Análisis de Datos Confiable, Rápido y
    Exacto 
    Los métodos
    usados comúnmente para análisis de datos
    multidimensional generalizados 1-D, 2-D están incorporados
    en MATLAB. Interfaces gráficas fáciles de usar,
    específicas para aplicaciones, la línea de comando
    interactiva y herramientas de programación estructuradas le permiten
    elegir el mejor camino para sus tareas de
    análisis.

    Análisis de Datos para DSP
    MATLAB ofrece muchas herramientas para realizar la funcionalidad
    indispensable en procesamiento de señales, tales como
    Transformadas Rápidas Fourier y Transformadas
    Rápidas Inversas de Fourier. La visualización de
    datos de procesamiento de señales está soportada
    por funciones tales como gráficos stem  y
    periodogramas. El lenguaje de
    MATLAB, inherentemente orientado a matrices hace que la
    expresión de coeficientes de filtros y demoras de buffers
    sean muy simples de expresar y comprender.

    Análisis de Datos en Aplicaciones de
    Imágenes
    MATLAB y la Image Processing Toolbox ofrece un amplio conjunto de
    herramientas que le permite fácilmente manipular, procesar
    y analizar datos de imágenes, interactivamente mostrar
    pantallas de imágenes 2-D o 3-D, visualizar datos
    temporarios cuando es necesario, y comentar sus resultados para
    publicaciones técnicas. La orientación basada en
    matrices del lenguaje de  MATLAB le permite expresar en
    forma compacta operaciones
    matemáticas de forma similar a cómo
    las expresaría sobre papel. Como
    resultado, es fácil e intuitivo efectuar procesamiento de
    imágenes  y operaciones de análisis tales como
    FFTs, filtrado 2-D, morfología binaria,
    manipulación geométrica, conversión de
    espacios de colores,
    compresión, análisis de componentes conectados y
    más.

    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. Las poderosa fundación de computación, el
    lenguaje técnico, y cientos de funciones en cajas de
    herramientas (toolboxes) convierten a MATLAB en lo más
    adecuado para aplicaciones matemáticamente intensivas que
    requieran análisis de datos, procesamiento de
    señales e imágenes, modelado de sistemas o
    técnicas numéricas avanzadas.

     1.6- EL MATLAB Y LA ESTADÍSTICA

    Statistics Toolbox

    Combina poderosos algoritmos estadísticos con
    interfaces gráficas interactivas

    Las Statistics Toolbox le da un rango ancho de
    herramientas para realizar cálculos estadísticos.
    Proporciona una única mezcla de facilidad gráfica
    de uso y programabilidad. Los despliegues gráficos
    interactivos le permitieron aplicar métodos
    estadísticos fácilmente y de forma consistente,
    mientras el lenguaje de MATLAB le permite fácilmente crear
    los acostumbrados métodos estadísticos y de
    análisis. Esta combinación le da la libertad para
    acceder las funciones bajo-niveladas directamente como funciones
    de probabilidad y
    ANOVA de la línea del orden, o para usar las interfaces
    interactivas para aprender y experimentar con el toolbox
    construir-en visualización y herramientas del
    análisis.

    Rasgos

    Análisis de los componentes
    principal

    ANOVA

    Bootstrapping

    Comprobación de la hipótesis

    Creación de superficies y
    modelado

    Curva que encaja (con intervalos)

    Distribuciones de probabilidad

    Estadísticas descriptivas

    Estimación del parámetro y
    encajando

    Interfaces gráficas de usuario

    Modelade de Nonlinear

    Parcelas estadísticas

    Plan de experimentos

    Proceso estadístico de control

    Regresión del stepwise
    interactiva

    Regresión múltiple

    Simulación de Carlo Monte

    El toolbox es el ambiente ideal no rutina para el
    montaje ejemplar. Las capacidades primarias incluyen: el
    análisis de la regresión y diagnóstica con
    selección inconstante, modelado no lineal, probabilidad y
    estimación de parámetros, análisis de
    sensibilidad que usa los generadores de número de azar,
    control del proceso estadístico, y plan de experimentos.

    Distribuciones de probabilidad. La Caja de Herramientas
    Estadísticas ( Statistics TollBox ) apoya
    una colección de 20 distribuciones de probabilidad
    diferentes, incluso T, F, y distribuciones del Chi-cuadrado,
    despliegues gráficos de ataques, y se mantienen formas de
    calcular ataques mejores todos los tipos de la distribución.

    Herramientas de GUI que mantienen Muchas herramientas
    interactivas para la visualización dinámica y el análisis de datos. Las
    interfaces especializadas tienen incluido planificación para los resultados,
    visualización de la distribución, generación de
    número de azar, y area del contorno.

    Parcelas estadísticas los órdenes trazando
    Estadísticos como weibplot y randplot le permiten realizar
    análisis de fiabilidad o montaje
    distributional.

    Desarrollo del algoritmos de junto con el MATLAB, el
    toolbox le da todo lo que usted necesita para desarrollar nuevos
    algoritmos para el análisis estadístico. Usted
    puede usar las funciones de trazando de Statistics Toolbox, o
    crea su propio trazo usando los rasgos de Gráficos de
    MATLAB.

    En la grafica, el orden del histfit
    se sobrepone a una curva de densidad
    normal en un histograma. El número predefinido de
    cajas se pone a la raíz cuadrada del número
    de elementos en los datos.

    Explorando y Aprendiendo Statistics Toolbox
    GUIs

    La Statistics Toolbox incluye varios elementos de
    fácil uso para despliegues que proporcionan vistas
    gráficas de sus datos y lecturas numéricas precisas
    del valor de la
    función actual y estadística descriptiva relacionada.
    Controles de interface de usuario, como botones, los
    deslizadores, y los datos dinámicos, 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 hipotéticos – todos en una sola
    pantalla. Este acercamiento a las estadísticas le ayuda a
    aprender sobre un proceso mientras le da una percepción
    intuitiva para la conducta de las
    funciones estadísticas subyacentes.

    Los despliegues de la entrada múltiples le
    permiten hacer análisis de relación de
    multidimensional. Cada sección representa una entrada. Las
    barras cruzadas punteadas pueden moverse con el ratón para
    cambiar un valor del
    parámetro que causa todos los otros parámetros
    (entradas) para poner al día
    simultáneamente.

    Statistics Toolbox ofrece despliegues
    interactivos que le permiten experimentar y aprender
    sobre toolbox contiene una interfase de
    visualización y herramientas del análisis.
    La herramienta interactiva se muestra sobre el modelo
    obtenido el comando rsmdemo, se muestran conceptos en
    plan
    de experimentos y planificación de
    regresión.

    2.-
    LIBRERIAS

    Librería de Aplicaciones de MATLAB

    Signal 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:

    • Análisis de filtros digitales incluyendo
      respuesta en frecuencia, retardo de grupo,
      retardo de fase.
    • Implementación de filtros, tanto directo como
      usando técnicas en el dominio de la
      frecuencia basadas en la FFT.
    • Diseño de filtros IIR, incluyendo Butterworth,
      Chebyschev tipo I, Chebyshebv tipo II y
      elíptico.
    • Diseño de filtros FIR mediante el
      algorítmo óptimo de Parks-McClellan.
    • Procesamiento de la transformada rápida de
      Fourier FFT, incluyendo la transformación 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 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:

    • Algebra lineal.
    • Funciones matemáticas elementales y
      especializadas.
    • Operadores lógicos y
      aritméticos.
    • Matrices elementales y manipulación de
      vectores.
    • Matrices especiales.
    • Estadística básica y análisis de
      datos.
    • Polinomios e interpolación.
    • Gestión de cadenas de caracteres.
    • Entradas y Salidas.
    • Gestión de memoria y
      errores.

    (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:

    • Utilizar el compilador de MATLAB para convertir
      archivos M en C mediante la utilización de la
      instrucción mcc -e (la cual es externa a
      MATLAB).
    • Compilar el código C fuente en código
      objeto utilizando un compilador ANSI C.
    • Enlazar el código resultante con la MATLAB C
      Math Library y con cualquier tipo de archivos y programas
      específicos que hayan sido previamente definidos por el
      usuario.

    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.

    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.

    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 código C optimizado procedente de archivos M
    -M files- de MATLAB . Este compilador puede ser utilizado de dos
    modos:

    • Como un generador MEX automático. Pueden
      convertirse archivos M en funciones C ejecutables que se
      ejecutaran desde dentro de MATLAB. Como un generador de
      código 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 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:

    • El compilador de MATLAB traduce las funciones MATLAB
      en sus funciones equivalente en lenguaje
      C.
    • La instrucci¢n MATLAB cmex llama al compilador y
      al enlazador del sistema para construir un fichero MEX
      objeto.
    • El intérprete de MATLAB enlaza
      automáticamente la función de MATLAB como
      'runtime'.

    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:

    • Utilizar el compilador de MATLAB para convertir
      archivos M en C con la instrucción externa mcc
      -e.
    • Compilar el código C fuente en código
      objeto utilizando un compilador C.
    • Enlazar el código resultante con las librerias
      matemáticas C de MATLAB y los archivos
      específicos de que dispongamos.

    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:

    • Tratar todas las variables en
      archivos como datos enteros y/o reales.
    • Utilizar una variable concreta como variable escalar,
      vectorial, entera, real o una combinación de
      estas.
    • Desactivar el control de parámetros de entrada
      y el redimensionamiento dinámico de
      vectores.

    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:

    • PC/Microsoft
      Windows
      • Metaware High C/C++ V.3.0 o
        superior.
      • Watcom C V.10.0 o superior
    • Power MacIntosh
      • MetroWerks CodeWarrior C V.7
      • MPW MrC V.1.0b2 o PPCC version
        1.0.5
    • 680×0 MacIntosh
    • MPW C Versi¢n 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 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.

    SYMBOLIC 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:

    • Algebra simbólica: Derivación, integración y simplificación de
      expresiones matemáticas.
    • Algebra lineal exacta: Inversas, determinantes,
      autovalores y formas canónicas de matrices
      simbólicas.
    • Aritmética de precisión variable:
      Evaluación de expresiones
      matemáticas con diversos grados de
      precisión.
    • Resolución de ecuaciones:
      Resolución numérica y simbólica de
      ecuaciones
      algebraicas y diferenciales.
    • Funciones matemáticas especiales: Evaluación de la mayoría de las
      funciones utilizadas en matemáticas
      aplicadas.

    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

    Optimization 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:

    • Cálculo de un extremo local (máximo o
      mínimo) de una función real f(x), en general
      multivariable y no lineal, sin imponer ninguna
      restricción o condición a la solución.
      Como caso particular, se incluye una rutina especial para
      problemas de mínimos cuadrados no lineales.
    • Cálculo de un extremo local (máximo o
      mínimo) de una función real f(x), en general
      multivariable y no lineal, condicionado a que la
      solución satisfaga ciertas condiciones de desigualdad
      (g(x)<=0) y/o igualdad
      (g(x)=0).
    • Problemas de aproximación a un conjunto de
      objetivos.
    • Cálculo de soluciones
      de un sistema de ecuaciones continuas y, en general, no
      lineales.
    • Solución de problemas minimax.
    • Programación lineal.
    • Programación cuadrática.
    • Problemas de mínimos cuadrados no
      negativos.

    Image 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:

    • Diseño de filtros.
    • Mejora y retocado de imágenes.
    • Análisis y estadística de
      imágenes.
    • Operaciones morfológicas, geométricas y
      de color.
    • Transformaciones 2D.

    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:

    • Análisis de imágenes y
      estadística.
    • Diseño de filtros y recuperación de
      imágenes.
    • Mejora de imágenes.
    • Operaciones morfológicas.
    • Definición de mapas de
      colores y modificación gráfica.
    • Operaciones geométricas.
    • Transformación de imágenes.
    • Proceso de bloques

    Neural 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.

    NON 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.

    NAG 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:

    • Ceros de polinomios
    • Raíces de una o más ecuaciones de tipo
      trascendental.
    • Suma de series.
    • Cuadraturas.
    • Ecuaciones diferenciales ordinarias.
    • Ecuaciones diferenciales en derivadas
      parciales.
    • Estadística no paramétrica.
    • Análisis de series temporales.
    • Rutinas de clasificación.
    • Aproximación de funciones
      especiales.
    • Aproximación de curvas y
      superficies.
    • Maximización y minimización de
      funciones.
    • Factorización de matrices.
    • Valores y vectores propios.
    • Resolución de ecuaciones lineales
      simultáneas.
    • Ecuaciones lineales (LAPACK).
    • Estadística básica.
    • Análisis de correlación y
      regresiones.
    • Métodos multivariantes.
    • Generación de números
      aleatorios.

    3.- VENTANAS

    Como vemos la interfase 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 aplicación para la investigación y el
    desarrollo de modelos matemáticos y estadísticos
    los cuales son tratados de forma
    interactiva, y con superposición de ventanas en un entorno
    de fácil comprensión e interpretación 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 como se comportará una determinada
    variable a través de una serie de experimentación
    en tiempo real.

    Las ventanas de despliegue grafico son muy similares, en
    las cuales el énfasis de la presentación se pone en
    la grafica generada y no en el entorno de trabajo, es por esta
    razón que puede parecer que el diseño de esta
    aplicación es escueto, pero debemos recordar que como todo
    este tipo de aplicaciones su desarrollo está orientado al
    logro de un objetivo especifico como es el resolver modelos
    matemáticos.

    3.1.- OPERACIONES CON
    VECTORES Y MATRICES

    Definiendo Matrices y Vectores

    El entorno de desarrollo nos permite resolver problemas
    de calculo complejo y es asi como en el calculo matricial y
    vectorial se puede hacer buen uso de MATLAB, a
    continuación 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 simbolo "»" denota el prompt de MATLAB y no se
    escribe al entrar instrucciones). El ";" al final de la
    instrucción omite el "eco" o salida a la pantalla. La
    instrucción

    »x=4:-1:1

    general el vector fila x=[4,3,2,1]. La
    instrucción

    »C=A(3:4,1:3);

    se refiere a la submatriz

    de A. También D=A([1,3],3:4) genera

    Matrices Especiales

    En MATLAB podemos generar matrices especiales con las
    siguientes instrucciones:

    rand(n,m) – matriz nm de entradas aleatorias
    entre 0 y uno.
    eye(n) – matriz identidad
    nn.
    zeros(n,m) – matriz cero de tamaño nm.
    ones(n,m) – matriz nm con todas las entradas
    uno.

    Combinando estas instrucciones podemos generar matrices
    bastante complicadas. Por ejemplo, la
    instrucción

    »E=[eye(2),ones(2,3);zeros(2),[1:3;3:-1:1]]

    genera la matriz

    La instrucción round(x) redondea "x" al entero
    más cercano a "x". Podemos combinar funciones en MATLAB.
    Por ejemplo, round(10*rand(4)) genera una matriz con entradas
    aleatorias entre 0 y 10.

    Aritmética de Matrices

    Considere las siguientes matrices:

    Entonces las operaciones A*B (producto matricial de A
    con B), A+B (suma de A mas B), 3*A (multiplicación 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 =

    4 2
    5 3

    »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 termino. Por
    ejemplo A.*C y A.^2 generan:

    » A.*C

    ans =

    -4 10
     4 12

    » A.^2

    ans =

    16 25
      4   9

    Solución 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 métodos:

    • eliminación Gaussiana
    • forma echelon reducida o método de
      Gauss-Jordan
    • método de la inversa

    En el método de Gauss-Jordan, luego de obtener la
    forma echelon de la matriz de coeficientes aumentada, eliminamos
    también 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 métodos utilizamos la instrucción
    flops de MATLAB que estima el número 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 sucesión de instrucciones:

    » flops(0)
    » x=Ab

    x =

    -0.0417
     0.4167
     0.6250

    » flops

    lleva a cabo eliminación 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 eliminación
    Gaussiana. Para el método 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 método de la inversa se realiza con la
    siguiente sequencia 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
    eliminación Gaussiana es el mejor de los tres
    métodos lo cual es cierto en general.

    Usando MATLAB podemos estudiar la relación entre
    la solubilidad del sistema Ax=b y la nosingularidad de la matriz
    de coeficientes A. En clase vimos que el sistema Ax=b tiene
    solución única para cualquier lado derecho b si y
    solo si la matriz A es nosingular. ¿Qué sucede si A
    es singular? ¿Entonces Ax=b no tiene solución? Si A
    es singular el sistema Ax=b puede tener solución para
    algunos b's pero de seguro hay al
    menos un b* para el cual Ax=b* no tiene solución. 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 instrucción rand, el resultado de
    esta y cualquier secuencia de instrucciones que use esta
    función de MATLAB, no siempre será el mismo). La
    primera instrucción genera una matriz aleatoria con
    entradas enteras entre 0 y 10, y con la segunda
    instrucción remplazamos la tercera columna de A con cuatro
    veces la primera columna mas tres veces la segunda columna.
    ¡La matriz resultante es singular! (Explique esto sin
    calcular el determinante). Generamos ahora un lado derecho
    arbitrario mediante la instrucción:

    » b=round(20*(rand(6,1)-0.5))

    b =

    10
    4
    5
    3
    -9
    3

    Esto genera una matriz 61 aleatoria con entradas
    enteras entre -10 y 10. Resolvemos el sistema Ax=b calculando la
    forma echelon reducida de la matriz de coeficientes aumentada [A
    b]:

    » rref([A b])

    ans =

    1 0 4 0 0 0 0
    0 1 3 0 0 0 0
    0 0 0 1 0 0 0
    0 0 0 0 1 0 0
    0 0 0 0 0 1 0
    0 0 0 0 0 0 1

    Como la última fila es de la forma el sistema es inconsistente, i.e., no
    tiene solución. ¡Recuerde que A es singular! Esto no
    quiere decir que Ax=b nunca tenga solución. Si definimos
    c=A*b, con el b de arriba digamos, el sistema Ax=c tiene
    solución 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
    0 0 0 1 0 0 3
    0 0 0 0 1 0 -9
    0 0 0 0 0 1 3
    0 0 0 0 0 0 0

    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 más comunes tenenmos:

    • min(A), max(A) – dan el mínimo y máximo
      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 gráficas
    en dos, tres y cuatro dimensiones. Veamos un par de ejemplos
    sencillos. Suponga que queremos trazar la gráfica de la
    función

    Esto lo podemos lograr con las instrucciones:

    » x=-5:.1:5;
    » y=x.^2.*exp(-x.^2);
    » plot(x,y)

    La primera instrucción divide el intervalo [-5,5]
    en subintervalos de largo 0.1, la segunda instrucción
    evalúa la función en los puntos de la
    partición, y finalmente graficamos los resultados con
    plot. La instrucción 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)

    (Para ver el gráfico faltante haga
    lick en el menú superior "Bajar Trabajo")

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

    La cuarta instrucción evalua la función en
    los puntos de la rejilla, y finalmente trazamos la superficie con
    surf.

    3.3.- ANÁLISIS
    DE VOZ

    El análisis de voz propiamente no es funcional
    pues el modelo que corresponde a la modulación interactiva
    y las distintas frecuencias que aunque estan sometias a un rango
    especifico varian en un numero infinito, por esta razón el
    estudio se refiera a la acustica en si como un modo de generar
    modelos simples los cuales se van acoplando a las necesidades de
    la investigación 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.

    Introducción a modelos físicos

    ¿Cuál es la causa de que la presión
    de aire fluyendo
    a través de un tubo hueco produzca ondas de
    presión en el aire del exterior
    que conocemos como notas? Con modelos físicos se intenta
    describir matemáticamente la acústica de los
    instrumentos tradicionales y implementar digitalmente los
    algoritmos para poder
    reproducir estos fenómenos.

    En la actualidad se ha desarrollado suficientamente la
    tecnología para que se puedan manipular estos modelos al
    mismo nivel que los originales acústicos en tiempo real, y
    por eso han sido objeto de mucho interés
    comercial. Pero, por supuesto, la imitación nunca puede
    ser mejor que el original, así que todavía la
    intención principal es descubrir la naturaleza de los
    instrumentos.

    Al contrario de la síntesis tradicional de
    muestras, se gobierna un modelo físico por la interfaz
    entre el ejecutante y el instrumento.Variables como la
    presión de aire y la embocadura para instrumentos de
    viento y la presión del arco y posición 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
    síntesis muestreada y la posibilidad de influir la
    señal directamente, a cambio de un
    control del modelo más amigable al usuario, intuitivo y
    tradicional.

    Los modelos físicos requieren menos capacidad de
    datos que la síntesis 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 fenómenos acústicos.

    Así como la síntesis de muestras ha
    contribuído a clasificar los distintos instrumentos por su
    timbre, los modelos físicos han contribuido a refinar la
    clasificación por sus cualidades físicas. 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 señal entrada no lineal para el
    resonador, el cuál se puede modelar como una
    función transferencia lineal que produce la señal
    salida audible. Los dos se unen con
    realimentación.

    La teoría
    más aplicada para el resonador de modelos físicos
    es la denominada ³teoría de guía de
    ondas². Se basa en la solución analítica de la
    ecuación de la propagación de ondas en el material.
    La ecuación es adecuada para cualquier guía de
    ondas unidimensional, tanto cuerdas como tubos huecos:

    Ky² = Eÿ

    Para cuerdas:
    K = tensión de la cuerda
    E = densidad de masa
    lineal
    y = desplazamiento de la cuerda
    ÿ = aceleración de la cuerda
    y² = curvatura de la cuerda

    Además hay que modelar las pérdidas de
    energía debido a la resistencia del
    aire, la rigidez, la fricción interno etc., que hace
    apagarse al sonido. Se puede
    implementar todo eso muy efectivamente mediante componentes
    digitales como líneas de retardo, unidades de acoplo y
    filtros.

    El excitador al ser no lineal es más dificil de
    modelar que el resonador. Además existen diferentes tipos
    que implican diferentes conjuntos de
    ecuaciones, pero hay buenos modelos para estos también.
    Para mantener una nota constante el excitador tiene que
    proprocionar exactamente la misma energía que desaparece
    en el resonador; un cambio en la
    energía proporcionada da un cambio correspondiente en la
    potencia sonora. Cada resonador tiene límites superior e
    inferior que determinan qué suministro de energía
    resulta en un sonido
    conteniendo la frecuencia fundamental de la nota
    deseada.

    Diferentes opciones para desarrollos
    posteriores

    En principio esta línea de investigación
    no tenía un fin comercial, sino que era un intento de
    entender la acústica de los instrumentos acústicos.
    Hoy día los algoritmos resultantes son tan efectivos, la
    capacidad de cálculo tan elevada y la interfaz al
    ejercitante tan buena que también es un método de
    producir instrumentos
    musicales comerciales. En esta tarea, hay ángulos
    diferentes de acometer los problemas. En un extremo está
    el físico que analiza los mecanismos de generación,
    en el otro está el diseñador de instrumentos que
    desea buenos resultados en la calidad del
    sonido.

    Uno de los problemas básicos y hasta ahora no
    resueltos es el de los pequeños márgenes, que son
    tan importantes. Un cambio minúsculo de p.ej. la
    presión de arco o la embocadura produce cambios bastante
    audibles, y aún es un misterio qué separa un
    violín bueno y uno excelente. Hay que bajar a un nivel muy
    detallado que en cualquier otro contexto electroacústico
    se podría pasar por alto, lo cual es un gran
    desafío para el futuro.

    Lo más importante será siempre centrarse
    en los aspectos musicales aunque las matemáticas sean
    bastante interesantes de por sí.

    ¿Por qué?

    La ventaja de la acústica musical es la
    posibilidad de utilizar el excelente oído humano como
    mecanismo de control para las teorías
    deducidas, que también son aplicables para objetivos no
    musicales. Por eso los modelos físicos pueden utilizar la
    realidad como su hipótesis
    verificativa.

    La finalidad será llegar un día a conocer
    los fenómenos acústicos de los instrumentos tan
    bien que se logre mejorar y/o construir nuevos instrumentos
    acústicos, y poder modelar instrumentos ficticios
    inspirados en los tradicionales pero que no necesariamente se
    puedan construir en la realidad.

    También hay un gran interés comercial por
    estos modelos, ya que son buenas copias de los instrumentos
    tradicionales, pero mucho más flexibles. Se pueden
    presentar facilidades como auriculares, MIDI, salida de jack,
    secuenciador, varios instrumentos parecidos en el mismo modelo, y
    formatos pequeños y ligeros.

    4.- FUNCIONES
    ESPECIALES

    LISTA PARCIAL DE FUNCIONES

    Funciones matemáticas

    Funcionales especiales y elementales

    • Funciones gamma, beta y elípticas.
    • Transformación de sistemas de
      coordenadas.
    • Matriz identidad y
      otras matrices elementales.
    • Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard,
      etc.
    • Partes reales, imaginarias y complejas
      conjugadas.
    • Funciones trigonométricas y de
      potencias.

    Algebra lineal
    numérica

    • Valores propios y descomposición de
      matrices.
    • Funciones generales de evaluación de
      matrices.
    • Determinantes, normas, rangos,
      etc.
    • Matrices inversas y factorización de
      matrices.
    • Matriz exponencial, logarítmica y
      raíces cuadradas.

    Polinomios e interpolación

    • Interpolación 1-D y 2-D.
    • Construcción polinomial.
    • Interpolación por splines
      cúbicos.
    • Diferenciación de polinomios.
    • Evaluación de polinomios.
    • Multiplicación y división de
      polinomios.
    • Residuos de polinomios y residuos.

    Métodos numéricos no lineales

    • Búsqueda de ceros en funciones de una
      única variable.
    • Minimización de funciones de una o más
      variables.
    • Resolución numérica de integrales.
    • Solución numérica de ecuaciones
      diferenciales ordinarias.

    Estadística y análisis de Fourier

    • Convolución 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 correlación y matrices de
      covarianza.
    • Deconvolución.
    • Magnitudes y ángulos de fase.
    • Funciones max, min, sum, mean y otras funciones de
      estadística básica.

    Operaciones algebráicas y lógicas

    • Suma, resta, multiplicación, división y
      potencias de matrices.
    • Matrix traspuesta.
    • Operadores lógicos AND, OR, NOT y
      XOR.

    Utilidades

    • Gestión y mantenimiento de errores.
    • Conversión de tipos de datos
      Fortran.
    • Funciones de fecha y hora.
    • Clasificación de matrices.
    • Conversión de números 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, Addison-Wesley, New York,
      1996.

     

     

    Autor:

    Felipe
    felcos[arroba]www.cantv.net

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter