TUTORIAL DE MATLAB TUTORIAL DE MATLAB 1. 1. QUÉ ES MATLAB? 4 1.1 Uso de Matrices 5 1.2 Origen de MatLab 5 1.3 Plataformas 5 1.



Documentos relacionados
TUTORIAL DE MATLAB TUTORIAL DE MATLAB QUÉ ES MATLAB? Uso de Matrices Origen de MatLab Plataformas 5 1.

Introducción al Cálculo Simbólico a través de Maple

Comenzando con MATLAB

Introducción a Matlab.

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

>> % suma de dos números reales, el resultado se asigna a ans

Tema 4: Empezando a trabajar con ficheros.m

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Una introducción a MATLAB

Álgebra Lineal Tutorial básico de MATLAB

Preliminares. Tipos de variables y Expresiones

5.4. Manual de usuario

Capítulo 9. Archivos de sintaxis

Complemento Microsoft Mathematics

CAPITULO I INTRODUCCION. Conforme la informática avanza, las imágenes se han convertido en un área muy

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Tema 7: Programación con Matlab

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

Subespacios vectoriales en R n

Algoritmos y Diagramas de Flujo 2

UNIDADES DE ALMACENAMIENTO DE DATOS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Tema 3: Vectores y matrices. Conceptos básicos

MATLAB en 30 minutos


Introducción. Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre.

Sistema Inteligente de Exploración

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

by Tim Tran:

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Naturaleza binaria. Conversión decimal a binario

Desarrollar y aplicar estrategias para resolver problemas Determinar si un gráfico es lineal dibujando puntos en una situación dada

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

Microsoft Access proporciona dos métodos para crear una Base de datos.

ARCHIVOS CON SERIES DEL BOLETÍN ESTADÍSTICO Manual de Usuario

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Guía N 1: Fundamentos básicos(i)

Práctica 1: Introducción al entorno de trabajo de MATLAB *

LICEO BRICEÑO MÉNDEZ S0120D0320 DEPARTAMENTO DE CONTROL Y EVALUACIÓN CATEDRA: FISICA PROF.

De aquí sale el proyecto MACsyma (MAC s SYmbolic MAnipulator)

Algorítmica y Lenguajes de Programación. MATLAB (i)

Manual de Introducción a SIMULINK

3.1 DEFINICIÓN. Figura Nº 1. Vector

TEMA 2: Representación de la Información en las computadoras

Materia: Informática. Nota de Clases Sistemas de Numeración

Modulo 1 El lenguaje Java

Operación de Microsoft Word

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

La ventana de Microsoft Excel

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

WINDOWS. Iniciando Windows. El mouse

Introducción a la Programación en MATLAB

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

forma de entrenar a la nuerona en su aprendizaje.

PoliEstudio: Una herramienta computacional para la enseñanza de la Matemática, en secundaria

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Formularios. Formularios Diapositiva 1

Matrices Invertibles y Elementos de Álgebra Matricial

Se podría entender como una matriz de filas y columnas. Cada combinación de fila y columna se denomina celda. Por ejemplo la celda A1, B33, Z68.

Curso de Procesamiento Digital de Imágenes

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

1. Visualización de datos con Octave

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES. ÁLGEBRA PARA INGENIEROS (Solucionario)

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

ORIENTACIONES PARA LA PRUEBA DE APTITUD PARA EL ACCESO A LA UNIVERSIDAD

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

ARREGLOS DEFINICION GENERAL DE ARREGLO

MATERIAL 2 EXCEL 2007

INTRODUCCIÓN DÓNDE ENCONTRAR LA CALCULADORA WIRIS

Matemática de redes Representación binaria de datos Bits y bytes

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

Herramientas computacionales para la matemática MATLAB: Scripts

CAPÍTULO 1 Instrumentación Virtual

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

Roberto Quejido Cañamero

Actividades con GeoGebra

Internet Information Server

Arquitectura de Aplicaciones

Operaciones Morfológicas en Imágenes Binarias

1. SISTEMAS DIGITALES

Anexo 1: Demostraciones

CAPITULO 6 SISTEMA DE DETECCION DE INTRUSOS

1) Como declarar una matriz o un vector.

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Transcripción:

TUTORIAL DE MATLAB TUTORIAL DE MATLAB 1 1. QUÉ ES MATLAB? 4 1.1 Uso de Matrices 5 1.2 Origen de MatLab 5 1.3 Plataformas 5 1.4 Productos 5 2. LIBRERÍA DE APLICACIONES DE MATLAB 7 2.1 SIGNAL PROCESSING TOOLBOX 7 2.2 THE MATLAB C MATH LIBRARY 7 2.2.1 Desarrollo de aplicaciones utilizando la MATLAB C Math Library 8 2.2.2 Utilización de MATLAB y de su compilador 8 2.2.3 Velocidad y Precisión 9 2.2.4 Lista parcial de funciones 9 Funciones matemáticas 9 Funcionales especiales y elementales 9 Algebra lineal numérica 9 Polinomios e interpolación 9 Métodos numéricos no lineales 10 Estadística y análisis de Fourier 10 Operaciones algebráicas y lógicas 10 2.2.5 Utilidades 10 2.2.6 Requerimientos 10 2.3 THE MATLAB COMPILER TOOLBOX 11 2.3.1 Generación Automática de ficheros MEX. 11 2.3.2 Rendimiento del compilador 12 2.3.3 Opciones de ajuste del rendimiento 12 2.3.4 Requerimientos del sistema 12 2.3.5 Limitaciones del código compilado 13 2.4 SYMBOLIC MATH TOOLBOX 13 2.5 OPTIMIZATION TOOLBOX 14 2.6 IMAGE PROCESSING TOOLBOX 15 2.7 Neural Network Toolbox 16 2.8 NON LINEAR CONTROL DESIGN TOOLBOX 17 2.9 NAG FOUNDATION TOOLBOX 18 3. INICIANDO MATLAB 20 1

4. USO DE COMANDOS 20 4.2 Instrucciones de MATLAB y Variables 22 4.3 Obteniendo Información del Espacio de Trabajo 23 4.4 Variables Permanentes 23 4.6 Saliendo y Guardando el Espacio de Trabajo 23 4.7 Manipulación de Vectores y Matrices 24 4.8 Operaciones de Matrices 25 4.9 Operaciones de Arreglos 28 4.10 Ejemplos: Operaciones Aritméticas 29 5. PROGRAMANDO CON MATLAB 33 5.1 Generalidades 33 5.1.1 Archivos-M: Comandos y Funciones 33 5.1.2 Otras funciones 37 5.1.3 Declaración function 41 5.2 Operadores relacionales 41 5.3 Operadores lógicos 42 5.4 Caracteres especiales 43 5.5 Control de flujo 44 5.5.1 Declaración FOR simple 44 5.5.2 Declaración FOR anidada. 45 5.5.3 Declaración WHILE 46 5.5.4 Declaraciones IF, ELSE, ELSEIF y BREAK 47 5.6.1 Creación de una matriz 50 5.6.2 Cambio del orden de una matriz: reshape 50 5.6.3 Modificación individual de elementos 50 5.6.4 Modificaciones adicionales de una matriz 51 5.7.1 Declaración fopen 57 Ejemplo 57 5.7.2 Declaración fclose 57 5.7.3 Declaración fread 57 5.7.4 Declaración fwrite 58 5.7.5 Declaración fprintf 58 5.8 Variables globales 58 5.9 Vectorización de algoritmos y estructuras (for, while) 59 5.10 Gráficas en Dos Dimensiones 60 COMANDO PLOT 60 Símbolo Color 60 Símbolo Estilo de línea 61 5.10.6 Comandos gráficos 63 5.11 Gráficos en 3 dimensiones 66 5.12 Archivos de disco 73 5.12.1 Manipulación de Archivos de Disco 73 5.12.2 Ejecutando Programas Externos 73 5.12.3 Importando y Exportando Datos 73 5.13 INDICE ALFABETICO 74 6. SIMULINK 75 6.1 Acelerador de Simulink 77 6.2 Generador de código- C en Simulink 77 7. COMANDOS DE MATLAB 78 7.1 General purpose commands: 78 Control System Toolbox Commands: 81 2

8. APLICANDO MATLAB AL CONTROL DE PROCESOS 86 8.1 Respuesta en el dominio del tiempo 86 8.2 Respuesta en el dominio de la frecuencia 91 8.3 Lugar de las raíces 95 8.4 Controladores PID 97 9. TRUCOS EN MATLAB 99 Paper semilogarítmico gratis: papelbod.m 99 3

1. QUÉ ES MATLAB? MatLab es un programa interactivo para computación numérica y visualización de datos. Es ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además una extraordinaria versatilidad y capacidad para resolver problemas en matemática aplicada, física, química, ingeniería, finanzas y muchas otras aplicaciones. Está basado en un sofisticado software de matrices para el análisis de sistemas de ecuaciones. Permite resolver complicados problemas numéricos sin necesidad de escribir un programa. 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 escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional. El nombre de MATLAB proviene de la contracción de los términos MATrix LABoratory y fue inicialmente concebido para proporcionar fácil acceso a las librerías LINPACK y EISPACK, las cuales representan hoy en dia dos de las librerías más importantes en computación y cálculo matricial. MATLAB es un sistema de trabajo interactivo cuyo elemento básico de trabajo son las matrices. El programa permite realizar de un modo rápido la resolución numérica de problemas en un tiempo mucho menor que si se quisiesen resolver estos mismos problemas con lenguajes de programación tradicionales como pueden ser los lenguajes Fortran, Basic o C. MATLAB goza en la actualidad de un alto nivel de implantación en escuelas y centros universitarios, así como en departamentos de investigación y desarrollo de muchas compañías industriales nacionales e internacionales. En entornos universitarios, por ejemplo, MATLAB se ha convertido en una herramienta básica, tanto para los profesionales e investigadores de centros docentes, como una importante herramienta para la impartición de cursos universitarios, tales como sistemas e ingenieria de control, álgebra lineal, proceso digital de imagen, señal, etc. En el mundo industrial, MATLAB está siendo utilizado como herramienta de investigación para la resolución de complejos problemas planteados en la realización y aplicación de modelos matemáticos en ingeniería. Los usos más característicos de la herramienta los encontramos en áreas de computación y cálculo numérico tradicional, prototipaje algorítmico, teoría de control automático, estadística, análisis de series temporales para el proceso digital de señal. 4

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. Además también se dispone del programa Simulink que es un entorno gráfico interactivo con el que se puede analizar, modelizar y simular la dinámica de sistemas no lineales. 1.1 Uso de Matrices MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una forma altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser una imagen o una película. Una matriz de fluctuaciones de una señal puede ser un sonido o una voz humana. Y tal vez más significativamente, una matriz puede describir una relación lineal entre los componentes de un modelo matemático. En este último sentido, una matriz puede describir el comportamiento de un sistema extremadamente complejo. Por ejemplo una matriz puede representar el vuelo de una avión a 40.000 pies de altura, o un filtro digital de procesamiento de señales. 1.2 Origen de MatLab MatLab fue originalmente desarrollado en lenguaje FORTRAN para ser usado en computadoras mainframe. Fue el resultado de los proyectos Linpack y Eispack desarrollados en el Argonne National Laboratory. Su nombre proviene de MATrix LABoratory. Al pasar de los años fue complementado y reimplementado en lenguaje C. Actualmente la licencia de MatLab es propiedad de MathWorks Inc. 1.3 Plataformas MatLab está disponible para una amplio número de plataformas: estaciones de trabajo SUN, Apollo, VAXstation y HP, VAX, MicroVAX, Gould, Apple Macintosh y PC AT compatibles 80386 o superiores. Opera bajo sistemas operativos UNIX, Macintosh y Windows. 1.4 Productos La empresa MathWorks ofrece MatLab como su principal producto para computación numérica, análisis y visualización de datos. También ofrece Simulink 5

como un anexo a MatLab y que interactua con él en lenguaje de MatLab y lenguaje de bajo nivel C. Simulink es usado para simulación modelado no lineal avanzado. Se ofrecen además numerosas herramientas especiales en "Toolboxes" para resolver problemas de aplicaciones específicas, por ejemplo control, procesamiento de señales, redes neurales, etc. Estas herramientas son colecciones de rutinas escritas en MatLab. 6

2. Librería de Aplicaciones de MATLAB 2.1 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. 2.2 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 ficheros M compilados: Algebra lineal. Funciones matemáticas elementales y especializadas. Operadores lógicos y aritméticos. 7

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 están incluidas en la C Math Library). 2.2.1 Desarrollo de aplicaciones utilizando la MATLAB C Math Library La construcción y desarrollo de aplicaciones utilizando esta librería es un proceso de amplias perspectivas una vez se tiene un dominio adecuado de su operativa. El producto está dividido en dos categorías (como librerías objeto): la librería (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 librería de toolboxes (toolbox library) contiene versiones compiladas de la mayoría de ficheros M de MATLAB para cálculo numérico, análisis de datos y funciones de acceso a ficheros y matrices. En equipos UNIX estas librerias pueden ser igualmente obtenidas como librerías de tipo estático (static libraries) o bien como librerías compartidas (shared libraries). Respecto al mundo PC, estas librerías pueden obtenerse como DLL's en el entorno Microsoft Windows o como librerias compartidas en equipos Apple MacIntosh. 2.2.2 Utilización de MATLAB y de su compilador Para construir una aplicación del tipo 'stand alone' que incorpore código originalmente desarrollado como ficheros M de MATLAB, deberán seguirse los pasos siguientes: 1. Utilizar el compilador de MATLAB para convertir ficheros M en C mediante la utilización de la instrucción mcc -e (la cual es externa a MATLAB). 2. Compilar el código C fuente en código objeto utilizando un compilador ANSI C. 3. Enlazar el código resultante con la MATLAB C Math Library y con cualquier tipo de ficheros y programas específicos que hayan sido previamente definidos por el usuario. 8

2.2.3 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 permitirán operar en datos de tipo escalar, vectorial o matricial con la misma facilidad sintáctica. 2.2.4 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. Ma triz 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. 9

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. 2.2.5 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. 2.2.6 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 suministrados con la mayoría de compiladores ANSI C. 10

2.3 THE MATLAB COMPILER TOOLBOX El nuevo compilador de MATLAB -The MATLAB Compiler- permite crear código C optimizado procedente de ficheros M -M files- de MATLAB. Este compilador puede ser utilizado de dos modos: 1. Como un generador MEX automático. Pueden convertirse ficheros M en funciones C ejecutables que se ejecutaran desde dentro de MATLAB. Como un generador de código C fuente. 2. 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 ficheros 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. 2.3.1 Generación Automática de ficheros MEX. El compilador de MATLAB automatiza la creación de ficheros MEX de C (MATLAB Ejecutables). Los ficheros 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: 1. El compilador de MATLAB traduce las funciones MATLAB en sus funciones equivalente en lenguaje C. 2. La instrucción MATLAB cmex llama al compilador y al enlazador del sistema para construir un fichero MEX objeto. 3. El intérprete de MATLAB enlaza automáticamente la función de MATLAB como 'runtime'. Mientras se efectúa una conversión de los ficheros M en ficheros 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 ficheros M en código fuente C para incorporarlos posteriormente en los ficheros 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 11

del tipo 'stand-alone' requieren para ello de la MATLAB C Math Library. Obsérvese que las funciones gráficas de MATLAB no están incluidas. Para construir aplicaciones 'stand-alone' se debería seguir los siguientes pasos: 1. Utilizar el compilador de MATLAB para convertir ficheros M en C con la instrucción externa mcc -e. 2. Compilar el código C fuente en código objeto utilizando un compilador C. 3. Enlazar el código resultante con las librerías matemáticas C de MATLAB y los ficheros específicos que dispongamos. 2.3.2 Rendimiento del compilador Mediante la compilación de los ficheros M se puede 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 están fuertemente optimizadas en su diseño. Sin embargo, mediante la utilización del compilador se obtendrán significativas mejoras. 2.3.3 Opciones de ajuste del rendimiento El compilador de MATLAB ofrece varias opciones que permiten generar el programa final de la forma más eficiente. Por ejemplo, Ud. puede directamente: Tratar todas las variables en ficheros 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. 2.3.4 Requerimientos del sistema Para utilizar el compilador de MATLAB para crear ficheros 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 12

MPW MrC V.1.0b2 o PPCC version 1.0.5 680x0 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. 2.3.5 Limitaciones del código compilado Ciertas instrucciones, como load y eval, no están 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 ficheros MEX y otros componentes que no son compilables. 2.4 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 13

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 ficheros 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 2.5 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. 14

2.6 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 estén trabajando en áreas como diagnóstico médico, astronomía, geofísica, ciencia 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 categorías: librerías 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 ta reas 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 categoría de familias de funciones que, desde el ento rno 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 15

2.7 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. 16

Dentro de las aplicaciones básicas de este toolbox, cabe destacar aquellas que están 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. 2.8 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 utilicen 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, 17

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. 2.9 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 ficheros 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 librerías. 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. 18

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

3. INICIANDO MATLAB Después de ejecutar el programa MatLab desde el sistema operativo empleado, por ejemplo haciendo doble click sobre el icono de MatLab en ambientes Windows, aparece el indicador de comandos el cual está listo para recibir instrucciones en lenguaje MatLab. Este indicador es de la siguiente forma: >> Al iniciar el uso de MatLab están disponibles dos comandos de ayuda y demostración. Para ejecutarlos se escribe el comando en la línea de comandos después del símbolo >> y se presiona la tecla Enter. Por ejemplo: >>help permite obtener una ayuda sobre los diferentes comandos de MatLab. >>demo hace una demostración de las diferentes aplicaciones de MatLab. Para cerrar o finalizar el uso de MatLab se usa el comando quit. >>quit 4. USO DE COMANDOS La primera forma de interactuar con MatLab es a través de la línea de comandos. Puede ejecutarse un comando si este está escrito después del símbolo >> y se presiona la tecla Enter. MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando los elementos de ésta de tal manera que: los elementos estén separados por blancos ó comas. los elementos estén cerrados entre corchetes, [ ]. muestre el final de cada fila con ; (punto y coma). Ejemplo: A = [ 1 2 3; 4 5 6; 7 8 9 ] resultaría en la matriz A = 1 2 3 4 5 6 7 8 9 MATLAB guarda esta matriz para utilizarla luego bajo el nombre de A. Si la matriz a introducir es muy grande se puede utilizar el siguiente formato: 20