Curso Introductorio Sobre Matlab y Simulink_excelente

download Curso Introductorio Sobre Matlab y Simulink_excelente

of 361

Transcript of Curso Introductorio Sobre Matlab y Simulink_excelente

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    1

    Prefacio

    La aplicacin de la Matemtica en Ingeniera y Ciencias ha sido intensa en todos los tiempos, pero hoy en da con la ayuda computacional basada en las PCs, esta aplicacin es una prctica comn. Existen diversas compaas que disean programas de clculo matemtico. Entre las ms importantes estn Mathematica (Wolfram Research Inc.), Maple (Maplesoft Inc.), MathCad (Mathsoft Engineering &Education, Inc), y el ms usado en el mundo en el rea de ingeniera: MATLAB (The Math Works, Inc.). Todos estos paquetes manejan la matemtica de una manera muy simple y adems disponen de una utilera que permite a los usuarios realizar complicados procedimientos matemticos con una gran facilidad. Un ejemplo lo constituyen los mtodos de optimizacin que requieren una gran cantidad de cmputo matemtico. Tradicionalmente se usaban lenguajes como Fortran o C, que requeran de programadores expertos para llevar a cabo los programas. Hoy en da con paquetes como MATLAB se pueden realizar procesos de optimizacin an con programadores inexpertos con tiempos de desarrollo muy breves. Esto se debe a la existencia de una gran cantidad de programas agrupados en paquetes especializados llamados toolboxes , desarrollados por renombrados especialistas de todo el mundo y que simplifican la labor de desarrollo de tcnicas de resolucin de problemas. MATLAB es una herramienta de cmputo orientada para realizar clculos sobre matrices. Cuenta con una gran cantidad de toolboxes para anlisis y procesamiento de datos. Adems cuenta con una gran cantidad de herramientas para graficar funciones en 2D y 3D que estn integradas dentro de MATLAB. Tambin proporciona un ambiente de programacin, el cual puede ser ampliado por el usuario desarrollando sus propios archivos-m e integrndolos dentro del conjunto de programas de MATLAB. La manera de desarrollar programas en MATLAB es muy intuitiva y permite generar cdigos de una manera muy rpida. MATLAB trabaja con una memoria dinmica que no requiere que se le declaren las variables que se van a usar durante el programa, sino que se definen al usarlas por primera vez. Esto es una gran ventaja ya que el usuario tiene la libertad de definir sus variables segn lo requiera al escribir el cdigo. MATLAB permite el intercambio de datos con EXCEL, desarrollo de interfases grficas, resolucin de problemas con SIMULINK, entre otras tcnicas avanzadas. El SIMULINK es una herramienta para simular sistemas lineales, no-lineales, continuos y de datos muestreados, y modelar los mismos en forma sencilla tanto para sistemas simples o complejos usando bloques que representan partes del sistema. MATLAB permite realizar la interfase con el mundo fsico real, pudindose controlar y monitorear procesos y mquinas desde el entorno de MATLAB. Por las razones expuestas muy brevemente, y muchas otras, MATLAB es la herramienta ms adecuada para la resolucin de problemas en ingeniera y ciencias. Para confeccionar este material se ha utilizado la versin 6.1.0.450 (R12.1) de MATLAB. En las versiones ms modernas, la mayora de los comandos se conservan, no obstante como se agregan funciones y herramientas, siempre es conveniente verificar la sintaxis de las sentencias y comandos, utilizando el Help como ayuda irremplazable. Estas notas tienen el propsito de despertar la inquietud y motivar la posterior profundizacin en el empleo de MATLAB, SIMULINK y otros Toolboxes, por parte de los Profesores y estudiantes de las carreras de Ingeniera (tanto en Ciencias Bsicas, Tecnologas Bsicas y Tecnologas Aplicadas) de las Facultades de Ingeniera de la UTN-FRBA/FRH, UNLZ y EST, en las cuales imparto cursos de Sistemas de Control e Ingeniera de Control Avanzado.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    2

    Estas notas no hubiesen sido posibles sin el apoyo de muchas personas. Del Ing. A. Furfaro Director del departamento de Electrnica de la UTN-FRBA que me dio las facilidades de tiempo y equipo para poder desarrollar estas notas. Al Ing P. Cerallo y Lic. E. Ciccolella, por la cooperacin y revisin del material y por el constante apoyo en la difusin de esta herramienta en el rea de la ingeniera Electrnica, Elctrica y Mecnica. Al Ing. Ricardo Am, Coordinador del ciclo Superior de la carrera de Ingeniera Mecnica de la UNLZ por su apoyo y constante motivacin, para que impartiramos el curso. Al Ing. C. Gonzlez, Director del departamento de Electrnica de la UTN- FRH, por su apoyo en el curso de Ingeniera de Control Avanzado, que se est dictando en la UTN-FRH y en el cual se hace uso intensivo de estas herramientas. Finalmente deseo agradecer a todos aquellos colegas y estudiantes que me permitieron y siguen permitiendo la difusin de estas tcnicas, sobre todo en relacin con la ingeniera.

    Ing. Amadeo M. Mariani

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    3

    1. Introduccin

    1.1 Programa MatLab

    El nombre del programa MATLAB proviene de MATrix LABoratory, y es un programa de alto nivel diseado para cmputo tcnico, sobre la base del clculo con vectores y matrices, no obstante se pueden realizar clculos con escalares y nmeros complejos. Integra en un mismo ambiente muy fcil de utilizar:

    Clculos. Visualizacin. Programacin.

    En este ambiente los problemas y sus soluciones se pueden expresar en notacin matemtica fcil de entender. Algunos de los usos ms comunes de MATLAB son:

    Clculos matemticos. Desarrollo de algoritmos Modelado y simulacin Anlisis de datos Obtencin de grficas Desarrollo de interfases grficas

    El lenguaje de programacin de MATLAB es ms poderoso que lenguajes tales como FORTRAN, C, Basic, Visual Basic o Pascal, entre otros.

    Junto con MATLAB se han Desarrollado una coleccin de herramientas (Toolboxes) que programadas en lenguaje de MATLAB pueden realizar un conjunto de actividades en ciertas reas de la ingeniera, las ciencias, las finanzas y la economa, entre otras muchas. Algunas de estas herramientas (Toolboxes) se han desarrollado para resolver problemas vinculados con:

    Anlisis y diseo de Sistemas de Control.

    Control System Toolbox Proporciona un entorno interactivo y grfico para el modelado, anlisis y diseo de sistemas de control, utilizando tanto los mtodos clsicos como los modernos: root locus, loop shaping, pole placement, LQR/LQG regulation. Soporta sistemas LTI, SISO, MIMO y diversos mtodos de conversin.

    Fuzzy logic Toolbox Es una herramienta interactiva para el desarrollo de algoritmos de lgica difusa, aplicable a reconocimiento e identificacin de imgenes con patrones difusos, procesamiento de seales y desarrollo de procesos inteligentes y adaptivos.

    Robust Control Toolbox Herramientas para el modelado y diseo de sistemas de control multivariables mediante tcnicas de H

    , donde la robustez del sistema es un factor crtico.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    4

    -Analysis and Sinthesis Toolbox Algoritmos para aplicables al anlisis de rendimiento y robustez en sistemas con incertidumbre en el modelado y parametrizacin.

    LMI Control Toolbox Algoritmos de optimizacin para la resolucin de inecuaciones matriciales lineales (LMI) presentes en control robusto, en control multiobjetivo, etc.

    Model Predictive Control Toolbox Es un conjunto completo de herramientas para implementar estrategias de control predictivo.

    Model-Based Calibration Toolbox Conjunto de herramientas para la calibracin de conjuntos motrices complejos. Cubre los tres aspectos de la calibracin: planificacin de la prueba fsica en el dinammetro, utilizacin de los datos medidos para producir una serie de modelos de respuesta que refleja el comportamiento del motor y empleo de estos modelos para calibrar el sistema motriz.

    Procesamiento de seales.

    Signal Processing Toolbox Conjunto de funciones para analizar, manipular y visualizar seales y sistemas lineales. Incorpora una interfase para disear y analizar de forma interactiva filtros digitales (FIR y IIR)

    Filter Design Toolbox Complementa al Signal Processiong Toolbox, agregando tcnicas avanzadas de filtros digitales para aplicaciones complejas de DSP en tiempo real. Tambin proporciona funciones para simplificar el diseo de filtros de punto fijo y para el anlisis de los efectos de cuantificacin.

    Communications Toolbox Conjunto de funciones para MATLAB que facilitan el diseo de algoritmos y componentes de sistemas de comunicaciones.

    System Identification Toolbox Proporciona herramientas para crear modelos matemticos de sistemas dinmicos, de los cuales se desconoce su comportamiento, a partir de los datos de entrada y salida observados. Esto se aplica en una gran variedad de campos.

    Wavelet Toolbox Son funciones basadas en el anlisis Wavelet para analizar y procesar seales, imgenes (seal bidimensional) y series temporales. Son adecuadas para el estudio de seales con caractersticas no estacionarias o transitorias en las que el anlisis del tiempo en que dichas seales experimentan los cambios es fundamental (para el estudio de este tipo de seales no es adecuado el mtodo de Fourier) . estas aplicaciones son muy convenientes para la eliminacin de ruidos y ecos, compresin de imgenes y video.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    5

    Procesamiento de imgenes.

    Image Processing Toolbox. Entorno interactivo que proporciona un conjunto de herramientas para el anlisis y procesado de imgenes con un amplio abanico de aplicaciones. Entre las aplicaciones se encuentran: operaciones geomtricas, anlisis de imagen, eliminacin de ruidos, filtros lineales, filtros 2D, transformaciones, ROI (Region Of Interest), operaciones binarias, conversiones de color, procesado por neighborhood y por bloques, etc.

    Mapping Toolbox Conjunto de herramientas para el anlisis y visualizacin de informacin grfica de tipo geogrfico.

    SIMULINK y herramientas adicionales(Blocksets y Generadores de Cdigos)

    Un campo de gran aplicacin en la ingeniera, es la automatizacin del diseo mediante simulacin dinmica de sistemas. Los productos ms importantes en el rea de simulacin dinmica son:

    Simulink Es un entorno grfico interactivo para el modelado, anlisis y simulacin, de una gran variedad de sistemas dinmicos (lineales, no lineales, analgicos, discretos e hbridos), mediante la utilizacin de diagramas en bloques. Permite la incorporacin de los algoritmos y controles que se hayan desarrollado en lenguaje C, previamente a la utilizacin de Simulink. Trabaja totalmente integrado con MATLAB.

    Stateflow. Es un entorno grfico interactivo para el modelado de la lgica de sistemas dinmicos basados en eventos (temporales o de estado) . se basa en la teora de mquinas de estado finito y utiliza diagramas de transicin de estado para expresar la lgica del sistema y diagramas de control de flujo.Trabaja perfectamente integrado con Simulink.

    Simulink Report Generador. Permite realizar la documentacin automtica, mediante la creacin de diversos informes de los modelos desarrollados por Simulink.

    Simulink Performance Tools. Es un conjunto de 4 herramientas que gestionan y optimizan el rendimiento de Simulink en las simulaciones de modelos de gran escala: Simulink Accelerator, Simulink Model Profiler, Simulink Model Differencing y Simulink Model Coverage.

    Requirements Management Interface Permite coordinar, registrar e implementar los cambios en el diseo de especificaciones a lo largo del ciclo de desarrollo. Esta herramienta permite asociar los requerimientos del proyecto con modelos de Simulink, diagramas de Stateflow, y algoritmos de MATLAB.

    Virtual Reality

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    6

    Permite la creacin de escenas e imgenes en movimiento en un entorno de realidad virtual de 3D. Desde MATLAB y Simulink se puede representar y visualizar en este entorno de realidad virtual el modelo que se est simulando e interactuar con l, o bien desde Simulink o bien desde el propio entorno de realidad virtual.

    DSP Blockset Proporciona un conjunto de bloques para Simulink que son el fundamento para el diseo de muchas aplicaciones de procesado de seales digitales (DSP) , como procesado bsico de seal, estimacin espectral, diseo de filtros. Todos los bloques soportan simulacin por muestreo y por frames.

    Communications Blockset Conjunto de ms de 150 bloques para Simulink que permite disear en forma completa y simular sistemas de comunicaciones.

    CDMA Reference Blockset Conjunto de bloques de Simulink para crear y simular modelos de sistemas de comunicaciones inalmbricos bajo el estndar IS-95A.

    Fixed-Point Blockset Permite emular la aritmtica del punto fijo cuando se disea y simula sistemas dinmicos o filtros digitales que al final sern implementados en targets digitales de punto fijo.

    Dials & Gauges Blockset. Realiza el monitoreo de seales y parmetros de simulacin mediante elementos grficos (instrumentos de aspecto real). Permite aadir a los modelos de Simulink estos elementos grficos y as visualizar el entorno que se est modelando.

    Nonlinear Control Design Blockset. Proporciona una aproximacin al diseo de sistemas de control basada en una optimizacin que ajusta los parmetros de acuerdo con unas restricciones en la respuesta transitoria temporal del sistema fijadas por el usuario.

    Power System Blockset. Permite modelar y simular en Simulink sistemas elctricos de potencia (generacin, transmisin y distribucin) y su control (motores, transformadores, tiristores, diodos, etc.)

    Sym Mechanics Blockset Permite modelar y simular de forma sencilla en Simulink los componentes de un sistema mecnico, ver y animar su movimiento, estudiar su cinemtica y dinmica (directa e inversa) etc.-.

    Real-Time Workshop.(RTW) Genera cdigo C en tiempo real a partir de los modelos realizados en Simulink, lo que permite realizar prototipos rpidos, acelerar las simulaciones o realizar simulaciones en tiempo real.

    Real-Time Workshop Embedded Coder.(RTWEC)

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    7

    Genera cdigo C en tiempo real optimizado en velocidad de ejecucin y con unos mnimos requerimientos de memoria para usarlo en sistemas embedded de tiempo real. Este cdigo puede ser descargado directamente al procesador target. El cdigo generado es comparable al cdigo optimizado escrito a mano.

    Stateflow Coder Genera cdigo C en tiempo real a partir de los diagramas de transicin realizados en Stateflow.

    Real-Time Windows Target (RTWT) Permite ejecutar los modelos de Simulink y Stateflow en tiempo real en una PC con Windows. Durante la ejecucin se puede comunicar con una amplia variedad de tarjetas de I/O (ms de 100), lo cul permite controlar sensores, actuadores, y otros dispositivos para poder experimentar, desarrollar y probar los sistemas en tiempo real.

    xPC Target Permite agregar bloques de I/O a SIMULINK, generar cdigo con RTW (Real-Time Workshop) y descargar este cdigo en una segunda PC que ejecuta el kernel de xPC target. Es ideal para realizar prototipos rpidos. Permite la ejecucin de modelos en tiempo real en una segunda PC (como target) sin necesidad de Windows. Con esta solucin, la PC que acta como host y la que acta como target se mantienen comunicadas durante la ejecucin en tiempo real.

    xPC Target Embedded Option. Esta opcin permite que el modelo desarrollado se ejecute en la PC que acta como target sin necesidad de que est conectada a la PC host. Esta opcin es la adecuada cuando el modelo est finalizado y se entrega para su funcionamiento en produccin.

    Adquisicin de datos(Data Acquisition)

    Data Acquisition Toolbox Permite el control y la comunicacin con una gran variedad de dispositivos de adquisicin de datos estndares en la industria (National Instruments, Agilent, Computer Boards, etc.). Incluye kit de adaptacin para el desarrollo de interfaces para nuevos dispositivos.

    Instrument Control Toolbox. Permite la comunicacin con instrumentos (analizadores de espectro, osciloscopios, generadores de funciones) y dispositivos externos. Soporta protocolos de comunicacin GPIB (IEEE-488, HPIB) y VISA( Serial, GPIB, VXI, GPIB-VXI) y proporciona soporte avanzado de puerto serie(RS-232, RS-422, RS-485)

    Curve Fitting Toolbox. Mediante una interfaz grfica se puede realizar ajustes de curvas, visualizando y preprocesando los datos y usando una amplia gama de modelos y mtodos de ajuste.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    8

    Math Toolboxes.

    Symbolic Math. Permite integrar la expresin y el clculo simblicos (clculo, transformadas, lgebra lineal, ecuaciones) al entorno de clculo y visualizacin de MATLAB

    Extended Symbolic Math. Incluye todas las caractersticas de Symbolic Math, proporciona soporte completo para programacin en Maple y permite el acceso completo a las libreras matemticas de Maple.

    Database Toolbox. Permite intercambiar directamente desde MATLAB datos con las bases de datos ODBC/JDBC ms populares (Oracle, Sybase SQL Server, Sybase SQL Anywhere, Microsoft SQL server, Microsoft Access, Informix y Ingres) de forma dinmica, preservndolos durante el intercambio y simultneamente con ms de una base de datos.

    Excel Link Toolbox. Integra toda la potencia de MATLAB con Microsoft Excel, permitiendo la transferencia de datos en los dos sentidos, ejecutando cualquier funcin de MATLAB desde una frmula de Excel o utilizando Excel desde MATLAB como editor de vectores.

    Statistics Toolbox. Funciones y herramientas interactivas para el anlisis de datos histricos, el modelado y simulacin de sistemas, y para el desarrollo de algoritmos estadsticos. Soporta 20 distribuciones de probabilidad, incorpora el control estadstico de proceso, el diseo de experimentos, estadstica descriptiva, anlisis cluster, etc.

    Optimization Toolbox. Proporciona diversos algoritmos y tcnicas para solucionar problemas de optimizacin no lineales, tanto generales como a gran escala.

    SplineToolbox Mediante una Interface grfica proporciona potentes funciones para el ajuste de datos, visualizacin, interpolacin y extrapolacin mediante tcnicos spline.

    Partial Differential Equartion Toolbox. De aplicacin en muchos campos de la fsica e ingeniera, como ser transferencia de calor, flujo en medios porosos, propagacin electromagntica, medios conductores, clculo de esfuerzos y fatigas en estructuras, campos magnticos, etc. Usa el mtodo FEM (Finite Element Method, que incorpora el algoritmo de triangulacin de Delaunay) para solucionar ecuaciones diferenciales parciales.

    Neural Network Toolbox Proporciona las versiones ms comunes de paradigmas y algoritmos para el diseo y simulacin de redes neuronales. Incluye bloque de SIMULINK para poder utilizar este Toolbox en aplicaciones de Control y simulacin de sistemas. Incluye ejemplos de control predictivo y adaptivo. Entre las aplicaciones ms comunes de las redes neuronales se tienen

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    9

    las tcnicas de clasificacin, prediccin, filtrado, optimizacin, reconocimiento de patrones, aproximacin a funciones, interpretacin y clasificacin de imgenes.

    Finanzas y Economa.

    Financial Toolbox. Proporciona las herramientas bsicas para las finanzas cuantitativas y la elaboracin de prototipos analticos, aplicables a la optimizacin de portfolios (carteras) y anlisis de riesgos, clculo de precios y sensibilidades segn diversos modelos, anlisis de volatilidad (ARCH/GARCH), anlisis bsico de series temporales, etc.

    Financial Time-Series Toolbox. conjunto de herramientas para el anlisis de series temporales en mercados financieros, anlisis y transformacin de datos, anlisis tcnico(ndices, osciladores, indicadores, etc.) y visualizacin.

    Financial Derivatives Toolbox. Permite la creacin y generacin de portfolios con diversos instrumentos financieros, as como calcular sus precios y sensibilidades. Proporciona anlisis hedging (compensaciones).

    Garch Toolbox. Proporciona un entorno de clculo integrado para trabajar con el modelo de GARCH sobre volatilidad. Utiliza un modelo compuesto ARMX/GARCH para realizar simulaciones, previsiones, estimacin de parmetros de series temporales, etc.

    Datafeed Toolbox Permite el acceso desde MATLAB a los servicios financieros (Bloomberg, Interactive Data, Yahoo Finance) para su descarga y posterior anlisis en MATLAB.

    1.2. Requisitos mnimos e Instalacin

    Con relacin al hardware, el programa exige para el correcto funcionamiento ciertas caractersticas mnimas, muy bsicas, que actualmente estn disponibles en cualquier PC. Basta con dispones de una PC con procesador Pentium III o superior para trabajar con Windows 98, 2000, NT, XP o Vista, con tarjeta grfica SVGA y monitor color. Tambin es imprescindible contar con 500 MB de RAM (recomendable 1GB 2 GB). Disco duro con capacidad libre de 5 GB (actualmente los discos rgidos permiten cumplir ampliamente con este requisito) si se va a utilizar todo el sistema. Unidad de CD-ROM. Mouse y teclado. En cuanto al Software, el programa exige disponer del sistema operativo Windows, 98, Me, 2000, NT, XP o Vista. Existen versiones de MATLAB para el programa UNIX (Sun Solaris, HP UX, HP 700, Compaq Alpha) LINUX y MAC. Si se va a utilizar MATLAB en una Notebook es necesario disponer de Microsoft Word 7.0 o versin superior (Office 2000 o XP). Si se van a construir ficheros MEX propios, es necesario disponer de Microsoft Visual C/C++ (versin 5.0 o superior), de Borland C++ (versin 5.0 o superior) o de Lcc 2.4 (propio de MATLAB). Tambin es necesario disponer de Adobe Acrobat Reader si se quiere ver la ayuda en lnea de MATLAB en formato PDF.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    10

    Para instalar el programa en Windows se coloca el CD (el 1 si hay ms de uno) en la unidad de CD-ROM de la PC. Al cerrar la unidad lectora, automticamente se inicia el proceso de instalacin con una pantalla temporal que tiene el logo de MATLAB. Durante unos segundos el programa prepara el proceso de instalacin mostrando una nueva pantalla en la cul se debe pulsar Next. A continuacin aparece una pantalla en la cul se debe introducir la clave PLP del CD-ROM y suministrada por Math Works. Despus de introducir la clave PLP, se pulsa nuevamente Next y se obtiene la pantalla de acuerdo de Licencia (License Agreement). Si se est de acuerdo con las condiciones de la Licencia, se pulsa Yes y se obtiene la pantalla de identificacin (Name, Company), que permite, pulsando nuevamente Next , seleccionar el directorio en que se instalar MATLAB , las opciones de instalacin, como ser: documentacin, opciones de idioma y productos componentes de MATLAB. En la parte derecha de la pantalla se informa del espacio disponible en el disco rgido y del espacio requerido para instalar los productos seleccionados. Al pulsar Next, el programa crea el directorio seleccionado para MATLAB (Ejemplo C:\matlabR12). Una vez aceptado el directorio, se pulsa Yes y comienza el proceso de instalacin, y automticamente van apareciendo pantallas que informan de la instalacin de las diversas componentes de MATLAB. Si se ha seleccionado la instalacin de la documentacin (manuales y help) de MATLAB el proceso pedir la introduccin del CD correspondiente. Al pulsar OK se instalan los archivos de ayuda (Help) y manuales (Documentation). Al terminar la carga de la documentacin, se debe pulsar Next, con lo cual se muestra la pantalla de Instalacin Completa (Installation Complete). En dicha pantalla se deber seleccionar el Reinicio de la PC en ese instante (now) para memorizar la configuracin de MATLAB o bien hacerlo ms tarde (later).

    1.3. Comenzando con MATLAB

    Una vez concluida la tarea de instalacin de MATLAB y reiniciado el sistema, se dispone del programa instalado. Para comenzar a trabajar con MATLAB se va al botn de Inicio y se selecciona Programas y all se busca y luego se abre MATLAB. Tambin se puede abrir desde el acceso directo (que se crea automticamente) existente en el escritorio. Una vez instalado el programa MATLAB en la PC, aparecer el icono de MATLAB como acceso directo. Al presionar este icono para comenzar a utilizar MATLAB, aparecer la ventana de MATLAB como se muestra en la figura1, mostrada a continuacin:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    11

    Fig. 1.-Ventana de MATLAB

    Dentro de la ventana de MATLAB, se tienen cuatro ventanas fundamentales, que son:

    Ventana de la derecha: Command Window (ventana de comandos).

    Ventana de abajo a la izquierda: Comand History (Historia de comandos).

    Ventana de abajo a la izquierda(bis): Current Directory ( Directorio actual)

    Ventana de arriba a la izquierda: Workspace (Espacio de trabajo).

    En la ventana de Command History se registra la historia de los comandos dados en la sesin actual y en sesiones previas.

    El Current Directory (directorio actual) contiene todos los archivos que se encuentran en el directorio en el cual estamos trabajando (el directorio por defecto de MATLAB es C:\Matlab\work). Otra ventana muy importante que se puede desplegar es la ventana de ayuda (HELP), la cual se puede abrir tecleando sobre el icono Help.

    La indicacin de que podemos dar comandos a MATLAB es:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    12

    >> En la versin Profesional

    EDU>> En la versin estudiantil

    2. Componentes de MATLAB.

    Bsicamente son cinco.

    I. Lenguaje MatLab. Es un lenguaje de alto nivel para tratamiento de matrices y vectores, con sentencias de control de flujo, funciones y estructuras de datos, entradas y salidas y programacin orientada a objetos. Permite crear pequeos programas como as tambin programas extensos y complejos.

    II. Entorno de Trabajo MatLab. Es el conjunto de herramientas con las que se puede trabajar como un usuario o programador. Para ello cuenta con las facilidades como para manejar variables en el espacio de trabajo, importar y exportar datos. Tambin posee herramientas de programacin, desarrollo y manipulacin de archivos (M-Files).

    III. Manipulador de grficos. Es el sistema de graficacin de MatLab. Incluye una serie de comandos de alto nivel para la visualizacin de imgenes en 2D y 3D, animaciones y presentaciones.

    IV. Librera de Funciones Matemticas. Es una amplia coleccin que contiene las funciones elementales como Sen, Cos, Sec, etc., hasta las transformadas de Laplace, Transformada Rpida de Fourier (FFT) y otras.

    V. Interfase de aplicacin de programas de MatLab. Es una librera que permite escribir programas en C y Fortran, que interactan con MatLab. Incluye la posibilidad de llamar rutinas desde MatLab y para leer y escribir MAT-Files.

    3. SIMULINK.

    Simulink es un programa de MatLab que consiste en un sistema interactivo para modelar, simular y analizar sistemas, los cuales pueden ser: lineales, no-lineales, de tiempo continuo o de datos muestreados o combinacin de ambos. Los sistemas que se simulan en SIMULINK reciben el nombre de modelos.

    Para modelar sistemas SIMULINK tiene una interfase grfica que sirve para construir modelos como diagramas de bloques. Para este propsito SIMULINK incluye una muy completa biblioteca de componentes lineales y no lineales, fuentes y, elementos de salida y conectores. Adems el usuario puede crear sus propios componentes.

    Despus de que se define un modelo para un sistema, este se puede simular usando mens en SIMULINK. Las limitantes para los modelos de SIMULINK es la cantidad de Toolboxes que se hayan comprado (actualmente hay alrededor de 170 toolboxes).

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    13

    MATLAB, cuenta tambin con un programa llamado Real-Time-Workshop (RTW) que permite generar un cdigo en lenguaje C, desde el diagrama en bloques, y correrlo en una variedad de sistemas en tiempo real.

    4. La Versin de MatLab.

    Para conocer la versin del programa MATLAB que se est utilizando, se abre el programa y se escribe la palabra ver, con lo cual se obtiene la siguiente salida.

    5. Tipos de archivos con los cuales trabaja MatLab.

    a. Archivos M. Son archivos de texto que contienen cdigos de MatLab. El usuario puede crearlos usando los mismos comandos que ingresa por lneas de comandos y otras sentencias que se vern ms adelante. El archivo se guarda con la extensin .m (ejemplo: Mario_archivo.m) y se puede llamar desde la lnea de comandos para ejecutarlo.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    14

    b. Archivos Mat. Son archivos que contiene datos binarios que se guardan con extensin .mat y que se detallarn ms adelante.

    c. Archivos Mex. Son archivos MatLab ejecutables compilado a partir de C o Fortran. Se guardan con la extensin .mex.

    d. Archivos MDL. Corresponden a modelos realizados con SIMULINK. Ms adelante retornaremos a este archivo.

    El comando what, produce una lista de archivos M-, MAT-, MEX- y MDL, presentes en el directorio de trabajo actual. As, por ejemplo:

    6. SINTAXIS GENERAL

    En MATLAB, en general, las letras minsculas y maysculas NO SON IGUALES. La ejecucin de cualquier comando puede abortarse mediante CONTROL + C. Se pueden escribir varios comandos en una misma lnea, separndolos por coma o por punto y coma. Se pueden recuperar comandos anteriores, usando las teclas de flechas arriba y abajo. Con las flechas izquierda y derecha se puede desplazar sobre la lnea de comando y modificarlo.

    6.1. Constantes.

    Enteros: 12 -3 Reales: 8.02 -5.7 .053 1.6e+5 -.658e-21

    Complejos: 1+ 2i -3+ 5j (i j son smbolos que representan la unidad Imaginaria) Caracteres (entre apstrofes): esto es una cadena de caracteres string

    6.2. Operaciones Aritmticas elementales.

    Suma: + Resta: - Multiplicacin: * Divisin: / Exponenciacin: ^

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    15

    Se puede utilizar MATLAB como simple calculadora, escribiendo expresiones aritmticas y terminando por RETURN (). Se obtiene el resultado inmediatamente a travs de la variable del sistema ans (de answer). Si no se desea eco en la terminal, deben terminarse las rdenes por punto y coma.

    6.3. Variables.

    En MATLAB se pueden definir variables que a diferencia de lenguajes de programacin como FORTRAN y C, no necesitan declararse previamente en otra instruccin. Es decir, la variable se crea al momento de escribirse. Por ejemplo, la variable x1 se crea en MATLAB cuando se escribe por primera vez con

    Esta variable tendr este valor hasta que el usuario lo cambie por otro.

    Los nombres de las variables pueden tener un tamao de hasta 63 caracteres de largo, letras y nmeros. Si un nombre de una variable tiene ms de 63 caracteres, solo se conservan los primeros 63. El primero debe ser una letra. No se pueden utilizar los caracteres especiales:

    + - = * ^ < >

    Las variables en MATLAB no necesitan ningn tipo de declaracin y pueden almacenar sucesivamente distintos tipos de datos: enteros, reales, escalares, matriciales, caracteres, etc. Se crean, simplemente, asignndoles un valor.

    Se pueden eliminar variables mediante el comando clear.

    Atencin: Recurdese que las variables AB, ab, Ab y aB SON DISTINTAS. Los nombres de las variables no son iguales si se escriben con letras maysculas o minsculas. De esta manera la variable M es distinta de la variable m.

    Para conocer en cualquier instante el valor almacenado en una variable basta con teclear su nombre. Se pueden conocer todas las variables definidas hasta el momento tecleando el comando

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    16

    Para conocer las variables cargadas en el espacio de trabajo, MatLab cuenta con los comandos who y whos, los cuales producen una lista de variables en el espacio de trabajo actual. Veamos un ejemplo:

    El comando who, solo indica el nombre de las variables, en cambio el comando whos adems de indicar las variables, muestra el tamao, nmero de Bytes que ocupa, y el formato.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    17

    6.4. Formatos

    El nmero de dgitos con los cuales MATLAB escribe una cantidad numrica puede variarse. Esto se puede realizar usando algunos de los formatos disponibles. Por defecto cuando MATLAB nos muestra un valor real, nos muestra slo cinco dgitos (formato corto). Se puede modificar la forma de mostrar los valores, mediante el comando format, segn se muestra en la Tabla N 1:

    Tabla N1. Comando format

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    18

    Nota: cada vez que MATLAB ejecuta alguna accin, el resultado se escribe en la pantalla. Para suprimir la escritura del resultado, es necesario escribir punto y coma despus de escribir la operacin que deseamos realizar, por ejemplo:

    6.5. Variables Predefinidas.

    Algunos nombres estn pre-definidos por MATLAB, como se muestra en la tabla N 2:

    Tabla N 2. Algunos nombres predefinidos

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    19

    6.6. Cadenas

    Una cadena de caracteres, es una serie de letras, nmeros u otros smbolos. Las cadenas de caracteres se encierran dentro de tildes. Algunos ejemplos de caracteres son:

    facultad mecnica buen da etc.

    Una variable de MATLAB puede ser una cadena de caracteres. Por ejemplo:

    De esta manera las variables m y a son todo lo est contenido dentro de las comillas.

    Los elementos de una cadena tienen una posicin dentro de la cadena. Cada elemento se puede obtener con el nombre de la cadena seguido entre parntesis de la posicin que tiene.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    20

    Por ejemplo, para la cadena m =Francisco Gonzlez, el primer elemento m(1) es F, mientras que el penltimo elemento m(16) es e. Veamos con MATLAB:

    Si se desea especificar un rango de caracteres, se usa cadena ( i : j ) que dar los caracteres del i-simo al j-simo. Ejemplo

    Se pueden concatenar varias cadenas especificndolas, como:

    nueva _ cadena = [cadena1, cadena2, cadena3]

    Ejemplo. Si, por ejemplo, tenemos cuatro cadenas a, b, m, i dadas por a =Argentina, b = Brasil, m =Mxico, i = Italia, se pueden crear nuevas cadenas con:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    21

    Tambin se pueden crear nuevas cadenas con elementos de cadenas como:

    En MATLAB existen funciones para las cadenas. Entre ellas se tienen algunas, como se muestra en la Tabla N 3:

    Tabla N 3. Algunas funciones para las cadenas.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    22

    Ejemplos.

    La funcin strrep (c1, c2, c3) reemplaza los caracteres c2 por los caracteres c3 en la cadena c1. Por ejemplo, en la cadena MATLAB ejecuta los clculos matemticos, se puede cambiar ejecuta por efecta con:

    Las unciones upper y lower convierten caracteres alfabticos en una cadena a letras maysculas y minsculas, respectivamente. Y los dems caracteres no cambian. Por ejemplo para las cadenas m1 y m2.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    23

    6.7. Guardado de una sesin y sus variables.

    Hasta este momento slo se ha mencionado que una variable se define cuando se usa por primera vez. Las variables de la sesin estn disponibles mientras no se cierre MATLAB o mientras no se ejecute la instruccin clear. En ocasiones deseamos seguir utilizando nuestras variables en otra sesin de MATLAB y por lo tanto es conveniente tener alguna manera de guardarlas. Esto es posible con la instruccin diary que guarda una copia de la sesin de MATLAB en un archivo. En este archivo se incluyen todas las instrucciones que el usuario haya escrito, as como las respuestas que haya obtenido de MATLAB. Para ilustrar el uso de diary considrese la siguiente sesin de trabajo.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    24

    Si ahora se desea guardar la sesin de trabajo en un archivo que se llamar sesion.txt, se usa:

    >> diary (sesion.txt)

    Si se observan los archivos del directorio, se ve que hay un nuevo archivo llamado sesion.txt, como se muestra en la figura 2, siguiente.

    Fig.2. Archivo Sesion.txt

    Al abrirlo vemos que se grabaron en l todas las instrucciones junto con las respuestas que dio MATLAB, que se escribieron a partir de diary (sesion.txt) hasta que se escribi diary (off), como se muestra en la figura 3, mostrada a continuacin

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    25

    Fig.3. Contenido del archivo sesion.txt

    Si se repite esta accin, se volvern a grabar todas las instrucciones junto con las respuestas en el mismo archivo que usamos antes, y que recibi el nombre de sesion.txt. Si solamente se usa diary, se generar un archivo con el nombre diary en el subdirectorio donde estamos trabajando.

    Otra manera de guardar la informacin de la sesin es usando el comando Save Workspace As .. al cual podemos tener acceso con

    FileSave Workspace As O con :

    Control + S

    En este caso slo se guarda informacin de las variables de la sesin. Por ejemplo, para guardar la sesin anterior ms nuevas variables que declaramos, se escribe en la ventana de trabajo de MATLAB dos nuevas variables,

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    26

    Se han definido dos nuevas variables, ww y zz, adicionales a las que tenamos anteriormente. Ahora lo salvamos con FileSave Workspace As.. con lo que se abre la ventana de dilogo que se muestra e la figura 4, donde se nos pregunta el nombre del archivo donde guardaremos esas variables.

    Fig. 4. Archivo Work

    MATLAB le da la extensin .mat de manera automtica. Si lo salvamos con el nombre de variables entonces se crear un archivo con el nombre variables.mat conteniendo las variables de la sesin con sus valores. Cerremos MATLAB y lo volvemos a abrir. Veamos que variables existen en MATLAB con la instruccin who. Vemos que al escribir who en la ventana de trabajo no existe ninguna variable. Ahora se abre el archivo con el icono de abrir archivos, o en FileOpen.. con lo que se abre la ventana de dilogo que se muestra a continuacin , figura 5, donde se selecciona el archivo variables.mat .

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    27

    Fig.5. Contenido del archivo Work.

    Al abrirlo, se cargan todas las variables de la sesin anterior, con sus valores como se muestra en la figura 6 , despus de usar la instruccin who y whos. Esta ltima nos da una lista de variables y el tamao de cada una de ellas.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    28

    Fig. 6. Instrucciones Who y Whos

    Alternativamente se pueden salvar las variables con el comando save como

    Save (variables)

    Que es equivalente a:

    Save (variables.mat)

    Y MATLAB ejecutar la accin equivalente a Save Workspace As.., escribiendo las variables en el archivo variables.mat. Se pueden cargar las variables que estn en variables.mat con

    Load (variables.mat)

    O simplemente

    Load (variables)

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    29

    Fig. 7. Creacin del archivo sesion.m

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    30

    6.8. Instrucciones de entrada y salida.

    Hasta ahora hemos usado MATLAB como una calculadora sencilla, donde el resultado se obtiene inmediatamente. En ocasiones, esto no es muy conveniente, especialmente si los resultados intermedios de un clculo que requiere muchos pasos no nos interesan.

    Afortunadamente podemos evitar el desplegado de los resultados intermedios si usamos punto y coma al final de una instruccin de MATLAB. Ejemplo

    Otro uso del punto y coma es para escribir varias instrucciones en un mismo rengln separndolas con un punto y coma. Por ejemplo

    En ambos casos el punto y coma evita que se desplieguen los valores de a, b y c.

    6.8.1 Salida formateada.

    Aparte de la salida que se obtiene en la ventana de trabajo(workspace), es posible escribir el resultado de un clculo junto con algn texto, o simplemente escribir un texto. Para esto se utiliza la instruccin fprintf. Si deseamos escribir el texto:

    MATLAB realiza clculos matemticos

    Se utiliza entonces

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    31

    ntese que en esta instruccin el punto y coma no suprime la escritura del texto. Tambin debe notarse el \ n al final de la lnea. Esto quiere decir que despus de escribir se empiece una lnea nueva. Si no lo usamos entonces el siguiente fprintf continuar escribiendo en la misma lnea. As por ejemplo, si escribimos

    El fprintf no empieza por s solo un nuevo rengln, por lo que se hace necesario usar \ n

    Ejemplo.

    Pero si usamos un \ n entonces escribir el siguiente fprintf en un nuevo rengln, como

    Esto nos da la salida con un rengln entre un texto y el otro.

    Alternativamente se puede declarar una cadena y escribir dentro del fprintf el nombre de la cadena.

    Ejemplo

    Para escribir un texto con una variable, se tiene que dar el formato con el cul se desea escribir la variable. Los formatos son, los que se muestran en la tabla N 4:

    Tabla N 4. Algunos formatos para escribir variables

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    32

    Ejemplo

    Sea la variable x = 256789451.3456789876543, para escribirla podemos usar

    6.8.2 Entrada de datos en MATLAB.

    La forma ms sencilla de dar datos a MATLAB es con la instruccin input que tiene el formato

    x = input (Dame el valor de x)

    Con este formato MATLAB despliega un mensaje para que inmediatamente se pueda escribir el valor de x. De esta manera se puede escribir

    Ntese que input no genera salto de lnea. Esto solo se genera con \n, el cual puede ir en cualquier lado. Si en lugar de darle un valor numrico le damos un nombre con letras o un carcter como & @ , o algn otro, se obtiene:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    33

    Vemos que en el caso del nombre nos dice que ese nombre est indefinido y nos vuelve a preguntar el valor de y. En el caso de un carcter alfanumrico nos manda un mensaje de error. Si en lugar de datos numricos se desea leer una cadena, lo indicamos aadiendo s dentro del input, de la siguiente manera:

    Como todos los datos son cadenas, nunca se marcar un error.

    6.9. Ayudas en MATLAB

    Las ayudas en MATLAB se pueden acceder con el comando help con lo que se obtiene la lista de todos los tpicos para los que podemos obtener ayudas. A continuacin se muestran los tpicos del comando help.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    34

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    35

    Para obtener ayuda de un tpico especfico, podemos escribir tambin el nombre del tpico. Por ejemplo, para obtener ayuda de los demos, usamos help demos, que nos lista todos los demos de MATLAB.

    Tambin se puede obtener ayuda presionando el icono Help en la barra de herramientas con lo que se puede la ventana que se muestra a continuacin (que cada asistente vea su ventana)

    En esta ventana se tiene del lado izquierdo el navegador de ayuda (Help Navigator) con cuatro pestaas: Contents, Index, Search y Favorites.

    Para buscar informacin de un tpico se selecciona la pestaa Search (bsqueda) donde se ve un campo para datos donde se escribe alguna palabra relacionada con el tpico de inters o el nombre de alguna instruccin de la cual se desea ver ms informacin.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    36

    6.9.1 El comando lookfor

    Este comando seguido de una palabra sirve para encontrar todas las funciones que en su descripcin de la ayuda contenga esa palabra. El formato es:

    lookfor palabra

    As, por ejemplo, si se desea encontrar las funciones que en su descripcin contengan la palabra hyperbolic, se hace con lookfor hyperbolic

    De esta manera, con el comando help podemos obtener informacin de la funcin que nos interesa.

    6.9.2 El comando which

    Este comando sirva para localizar el directorio donde se encuentran archivos-m. El formato es:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    37

    which nombre_del_archivo_o_funcin

    Por ejemplo para localizar la funcin poly se escribe:

    un uso adicional del comando which es para saber si un nombre de funcin ya existe. de esta manera se evita darle a alguna de nuestras funciones el mismo nombre de una que ya existe, lo que elimina problemas de ejecucin.

    6.10. Variables y funciones.

    Uno de los atributos ms poderosos de MATLAB es la manera en que puede manejar variables y funciones. Mientras que en otros lenguajes se deben definir desde un principio las variables a utilizar, en MATLAB stas se definen conforme se plantean por primera vez, no importa si se trata de variables de una dimensin o multidimensionales, matrices o cualquier otro elemento numrico o simblico.

    6.10.1 Variables

    Como se ha mencionado precedentemente, las variables se definen al momento que se usan por primera vez. Por ejemplo, si en un problema es necesario especificar el valor inicial de una variable Xo, esta variable se crea al escribir su valor

    Esta variable tendr ese valor hasta que el usuario lo cambie por otro.

    Los nombres de las variables pueden tener un tamao de hasta 31 caracteres de largo (depende de la versin de MATLAB) y el primer carcter no debe ser un nmero. Si un nombre de variable tiene ms de 31 caracteres, slo se conservan los primeros 31. As, por ejemplo, si se escribe

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    38

    Se ve que MATLAB 6 slo conserva los primeros 31 caracteres en el nombre.

    Los nmeros y variables pueden ser reales o complejos.

    Ejemplo

    6.10.2 Funciones

    Existen dos tipos de funciones en MATLAB

    Predefinidas por MATLAB

    Definidas por el usuario

    A las funciones predefinidas en MATLAB se les llama funciones elementales. Ms abajo se pueden ver algunas de estas funciones.

    Es posible definir funciones dentro de MATLAB. As, por ejemplo, le ecuacin para calcular el volumen de un cilindro recto de radio r es:

    2V r hpi=

    6.10.3 Variables simblicas

    Una variable simblica es una variable a la cual no se le ha asignado un valor numrico. MATLAB incluye un bloque de matemtica simblica (Symbolic Math Toolbox) que sirve para que el usuario pueda definir funciones. Una variable simblica se define con:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    39

    a = sym (a) x = sym (x)

    As, por ejemplo, si se desea trabajar con una funcin:

    35f x ax b= + +

    La funcin se puede crear definiendo primero las variables a, b y x, como simblicas para poder definir luego la funcin f.

    Tambin se pueden definir variables complejas. Por ejemplo, si se quiere definir:

    z x j y= +

    donde x e y son variables reales, entonces lo primero es declarar x e y como variables simblicas reales con:

    Con x, y, z definidas as se pueden realizar funciones con nmeros complejos.

    Ejemplo

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    40

    Para quitar la restriccin de que x e y son reales, se emplea el comando

    De esta manera, x e y pueden ser definidas como variables complejas.

    Otras funciones simples, son las mostradas en la tabla N 5:

    Tabla N 5. Algunas funciones simples

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    41

    MATLAB tiene una herramienta para observar el comportamiento de una funcin. esta herramienta tiene el nombre de funtool (herramienta de funciones) y se ejecuta escribiendo en la ventana de trabajo:

    >> funtool

    Al ejecutar este comando aparecen tres ventanas como se muestra a continuacin. Estas ventanas estn numeradas como a, b y c ( 1, 2 , 3) La figura c contiene cuatro espacios para dar datos de :

    Funcin f(x) Funcin g(x) Rango de valores de x Valor de una constante a.

    Adicionalmente contiene teclas para efectuar operaciones con estas funciones. Las operaciones van desde calcular la derivada de f hasta calcular la funcin composicin de f [g(x)] . Los datos sirven para graficar las funciones f y g se muestran en la en la figura 8, (a) y (b) respectivamente. Al abrirse funtool da como valores de las funciones

    ( ) ( ) 1f x x y g x= = , pero estos valores pueden ser modificados por el usuario.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    42

    Fig. 8. (a) Grfica de la funcin f, (b) grfica de la funcin g, (c) Ventana principal de funtool

    Ejemplo

    As, para las funciones:

    ( ) ( )( ) 1 ( 1)

    3

    f x sen xg x xa

    =

    = +

    =

    Al presionar el botn f *g se obtienen las figuras 9 y 10 mostradas a continuacin:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    43

    Fig. 9. Grfica de f(x)*g(x)

    Fig. 10. Grfica de g(x)

    En la figura 11 se muestra la pantalla de funtool, mediante la cual se cargaron las funciones f(x) y g(x).

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    44

    Fig. 11. Pantalla de funtool

    El botn de Cycle permite usar distintas funciones que MATLAB tiene programadas para f y g.

    6.11. Funciones Matemticas Elementales.

    Algunas funciones matemticas elementales se muestran en la tabla N 5

    Tabla N 5. Algunas funciones matemticas elementales Los argumentos pueden ser, siempre que tenga sentido, reales o complejos, y el resultado se devuelve en el mismo tipo del argumento.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    45

    6.12. Algunos Comandos Utilitarios y de Ayuda.

    El principal comando de ayuda de MATLAB es el help, que nos da una lista de tpicos sobre las que pedir ayuda.Tambin se puede pedir ayuda directamente sobre un comando, como se muestra en la tabla N 6.:

    Tabla N 6. Ayuda (Help) sobre un comando.

    6.13. Elementos sobre ficheros

    Se pueden utilizar ficheros para: Guardar el valor de todas o algunas de las variables definidas en una sesin

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    46

    Agrupar un conjunto de sentencias que puedan utilizarse en cualquier momento Almacenar todas las sentencias ejecutadas durante una sesin de trabajo Definir nuevas funciones (Se ver ms adelante).

    En la Tabla N 7, se muestran algunos elementos sobre ficheros.

    Tabla N 7. Algunos elementos sobre ficheros.

    7. Reloj y Fecha.

    Para conocer la hora y fecha actual, MatLab cuenta con un comando llamado Clock. Veamos un ejemplo:

    El primer nmero es un multiplicador, y los siguientes nmeros de la segunda lnea tienen el formato: [Ao, mes, da, hora, minuto, segundo]

    Los nmeros de la segunda lnea se pueden mostrar en formato entero, de la siguiente manera:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    47

    8. Ruta de bsqueda.

    El comando path, muestra la ruta de bsqueda vigente de MatLab. El comando ruta=path, devuelve una cadena llamada ruta que contienen la ruta.

    9. Diario.

    Si se desea guardar en algn archivo las entradas por lneas de comando, la sentencia diary on guarda todo lo que se introduce por teclado, as como la mayor parte de lo que se enva a la pantalla, en un archivo llamado diary. La sentencia diary off termina la escritura.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    48

    10. Formato para exhibicin de nmeros.

    En la tabla N 8, se muestran algunos comandos para la exhibicin de nmeros.

    Tabla N 8. Algunos comandos para la exhibicin de nmeros. Ejemplos

    11. Caracteres especiales y operadores. En la tabla N 9, se muestran los caracteres y operadores ms usuales de MatLab.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    49

    Tabla N 9. Algunos caracteres aritmticos y operadores ms usuales.

    12. Operaciones bsicas.

    Las operaciones bsicas de suma, resta, multiplicacin y divisin son muy simples de realizar en MatLab.

    Ejemplo.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    50

    Nmero de cifras exactas. MatLab dispone de una funcin que permite visualizar el resultado de una operacin con un determinado nmero de cifras exactas. El comando es el siguiente:

    Ejemplo. Supngase que se desea calcular 14 elevado a la 37 con 30 cifras exactas.

    MatLab provee otras funciones para operar con nmeros enteros. En la tabla N 10, se indican algunas de ellas.

    Tabla N 10. Algunas funciones para operar con nmeros enteros

    Estos son algunos de los muchos comandos que dispone MatLab. Dejamos a la inquietud de los lectores la bsqueda de otros comandos, que no se han explicado en estas notas.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    51

    Ejemplo.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    52

    13. Escalares, Vectores y Matrices.

    El nombre MATLAB viene de MATriz LABoratory. En MATLAB todos los datos son matrices. Los vectores y escalares son casos particulares de matrices. En MATLAB no es necesario especificar previamente las dimensiones de una matriz. Se definen de forma interactiva, al crearla. De hecho, una vez creada, se pueden modificar sus dimensiones. Existen muchos problemas en Ingeniera y Ciencias que involucran el empleo de matrices y vectores, y MatLab se basa fundamentalmente en el empleo de los vectores y matrices. De esta manera se resuelven casi todos los problemas de Ingeniera y Ciencias. Una matriz es un arreglo de n x m elementos (n filas y m columnas, un caso particular es n=m, matriz cuadrada).Un escalar es una matriz de orden 1x1, un vector fila es una matriz de orden 1xn, y un vector columna es una matriz de orden nx1.

    13.1. Definicin de vectores.

    Un vector fila de dimensin n (una matriz de dimensiones 1xn) se puede definir en MATLAB escribiendo sus componentes entre corchetes rectos [ ] y separndolos por comas o espacios en blanco:

    La orden anterior crea en MATLAB una variable v que contiene un vector-fila de longitud 4 (una matriz 4x1). Un vector columna se crea igual, pero separando las componentes por punto y coma:

    La orden anterior crea una variable w, que almacena un vector-columna de longitud 6 (una matriz de dimensiones 6x1).

    Otras rdenes para definir vectores son:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    53

    Ejemplo.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    54

    Ejemplo.

    Ejemplo. Determinar el vector transpuesto de: [1.5, 2.3,6,14.9,18.05]v =

    Las componentes de un vector se designan mediante el nmero de su subndice

    Atencin: En MATLAB, los subndices de los vectores y matrices comienzan siempre por 1

    Tambin se puede acceder a un bloque de componentes de un vector, indicando los subndices mnimo y mximo, o indicando un subconjunto de ndices.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    55

    13.2. Operaciones con vectores y escalares.

    Si v es un vector (fila o columna) y k es un escalar, las operaciones que se muestran en la tabla N 11, dan el resultado que se indica:

    Tabla N 11. Algunas operaciones con vectores y escalares. Ejemplos.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    56

    13.3. Operaciones entre vectores.

    Si v y w son dos vectores (fila o columna) de las mismas dimensiones, las operaciones que se muestran en la Tabla n 12, dan el resultado que se indica:

    Tabla N 12. Algunas operaciones con vectores.

    Ejemplos.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    57

    13.4. Funciones especficas de vectores.

    Las funciones matemticas elementales admiten vectores como argumentos y se interpretan componente a componente. Algunas funciones especficas para vectores son las que se muestran en la Tabla N 13:

    Tabla N 13. Algunas funciones especficas para vectores.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    58

    13.5. Norma de una vector.

    La norma de un vector de dimensin n se define como:

    1

    1

    n ppip

    ix x

    =

    =

    La norma ms conocida es la norma Euclidiana (p=2) que es la tpica magnitud del vector x

    122 2 2 2

    1 221

    n

    i ni

    x x x x x=

    = = + + +

    Para calcular en MATLAB la norma de un vector, se usa:

    >>norm(x, p )

    El valor predeterminado de p es 2.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    59

    Ejemplo Determinar la norma Euclidiana (p=2), la norma p=inf, y la norma para p=5 del vector

    [3 -2 5 1 7]x =

    13.6. Producto escalar y vectorial

    El producto escalar, tambin llamado producto punto de dos vectores v y w dados por

    1 1

    2 2

    n n

    v w

    v wv w

    v w

    = =

    es un escalar y est definido por

    1 1 2 2 n nv w v w v w v w= + + +i

    MATLAB lo calcula mediante

    >>dot (v,w)

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    60

    Ejemplo

    Hallar el producto escalar de los vectores

    3.2 0.82.4 7.35.6 1.67.1 9.4

    v w

    = =

    El producto escalar tambin se puede calcular si el primer vector columna se traspone para que se convierta en vector fila, y luego se multiplica por el segundo vector columna, es decir

    '*v w

    Aplicado al caso anterior se obtiene

    El producto vectorial v w de dos vectores de tres dimensiones es otro vector y se obtiene con MATLAB mediante

    >>cross (v,w)

    Ejemplo

    Hallar el producto vectorial entre los vectores

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    61

    5 133 68 35

    a b

    = =

    Mayor informacin se puede obtener en la ayuda, escribiendo dot y cross en la Bsqueda en Search

    13.7 Funciones de matrices y vectores

    Se pueden calcular funciones de matrices y vectores. As por ejemplo si [1.5,3, 5]x = , se puede calcular el sin( )x , que es otro vector dado por el vector cuyas componentes son las funciones seno de cada componente.

    Ejemplo Hallar el seno del vector [1.5,3, 5]x =

    Las funciones definidas en MATLAB y aquellas definidas por el usuario se pueden usar con vectores. Esto es para cualquier funcin ( )f x , si A es una matriz se obtiene:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    62

    11 12 1

    21 22 2

    1 2

    ( ) ( ) ( )( ) ( ) ( )( )

    ( ) ( ) ( )

    n

    n

    m m mn

    f a f a f af a f a f aff a f a f a

    =

    A

    Si v es un vector, entonces

    [ ]1 2( ) ( ) ( ) ( )nf f v f v f v=v

    Donde v puede ser un vector columna o un vector fila.

    Ejemplo

    Para el polinomio definido por p(x)=x^3+2*x^2-5*x+13, donde x puede ser un escalar, un vector o una matriz. Si D es una matriz dada por

    3 25 8

    =

    D

    Entonces

    Un tipo especial de vector es el que se forma para evaluar una funcin en un intervalo dado, por ejemplo: evaluar una funcin f(x) en un intervalo [xi, xf]. Si el espaciamiento entre los puntos es lineal, se puede usar

    x=linspace(a, b, n)

    Esta instruccin genera n valores igualmente espaciados entre a y b.

    Ejemplo

    Para crear un vector similar se puede utilizar:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    63

    x = a: incremento: b

    Donde a es el valor inicial y los siguientes puntos son a + incremento, a + 2*incremento, hasta llegar a b que es el valor final. Dependiendo del valor del incremento, el valor final puede ser distinto de b.

    Ejemplo

    Para crear un espaciamiento logartmico se usa

    x = logspace (a, b, n)

    Donde el primer punto es 10 ^ a, el ltimo punto es 10 ^b y hay n puntos en el intervalo.

    13.8 Sistemas de ecuaciones

    Si se tiene un conjunto de ecuaciones simultneas:

    a x b y cd x e y f

    + =

    + =

    Dichas ecuaciones se pueden resolver mediante:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    64

    Linsolve, resuelve el mismo problema si se expresa el conjunto de ecuaciones en forma matricial. As, para el problema anterior

    a b c xd e f y

    = = =

    A v w

    Cuando se tiene un sistema de ecuaciones simultneas, sus coeficientes se pueden expresar en forma matricial, y por lo tanto pueden ser manejados por MATLAB

    Ejemplo

    Sea el sistema de ecuaciones

    2 2 52 6 2 0

    2 6 2 02 8 0

    a ba b c

    b c dc d

    =

    + =

    + =

    + =

    Dicho sistema se escribe en forma matricial como

    =Ax b

    La matriz A y los vectores x y b son

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    65

    2 2 0 0 52 6 2 0 0

    0 2 6 2 00 0 2 0 0

    a

    bc

    d

    = = =

    A x b

    Para resolver este sistema se obtiene la inversa de la matriz A y luego se multiplica por b

    Otra manera de resolver el sistema es mediante la instruccin

    >>x = A \ b

    Aplicado al ejemplo anterior, se obtiene

    13.9. Factorizacin LU

    La factorizacin LU, permite escribir una matriz cuadrada no singular A como el producto de una matriz triangular inferior L y una matriz triangular superior U, es decir la matriz A se puede expresar como

    A = L U

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    66

    Ejemplo

    Dada la matriz A factorizar LU.

    0.1 0.5 2.2 6.84 2 7 9

    12.5 11.7 12 8.63 4 6 9

    A

    =

    Si la matriz A forma parte de un sistema de ecuaciones dado por Ax=b, entonces la solucin se puede obtener con

    >>x = U \ (L \ b)

    Supngase que b = [2;3;-5;0], entonces para la matriz dada anteriormente:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    67

    En la ventana rebsqueda (Search) se puede encontrar ms informacin sobre el tema LU.

    13.10. Vectores propios y formas de Jordan

    Una operacin muy utilizada en clculos con matrices es la obtencin de los vectores propios (o eigenvectors) y los valores propios (o autovalues). Estos vectores obedecen a la operacin

    A x = x

    Es decir, al multiplicar el vector por A, ste solo cambia de tamao pero no de direccin. A x y se los llama eigenvector (autovector) y eigenvalue (autovalor) de la matriz A, respectivamente.

    Ejemplo

    Considrese la matriz A siguiente, obtener los autovalores (valores propios o ingenvalue) de A

    1 2 3 41 4 9 163 1 0 5

    4 7 3 8

    A

    =

    Si se desea obtener los vectores propios se usa la instruccin

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    68

    >> [V, E] = eig (A)

    MATLAB devuelve dos matrices V y E. Las columnas de V son los vectores propios y los elementos de la diagonal principal de E son los valores propios.

    Para la matriz anterior se obtiene:

    Para diagonalizar una matriz usamos la expresin

    >> jordan (A)

    MATLAB devuelve la forma cannica de Jordan que cumple con

    -1A = M J M

    Donde la matriz J es una matriz diagonal formada por los valores propios y M es la matriz formada por los vectores propios.

    Aplicando esto a la matriz A dada anteriormente se obtiene:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    69

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    70

    13.11. Definicin de matrices.

    Las matrices se definen de forma similar a los vectores, introduciendo sus filas como vectores-fila y separando unas filas de otras mediante punto y coma o saltos de lnea.

    Ejemplo.

    Las componentes de una matriz se designan mediante los nmeros de sus subndices. Un vector - fila de dimensin n es en realidad una matriz de dimensin 1xn. Un vector-columna de dimensin m es en realidad una matriz de dimensin mx1.

    13.12. Operaciones con matrices.

    Algunas de las operaciones con matrices, se indican en la tabla N 14:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    71

    Tabla N 14. Algunas operaciones con matrices.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    72

    Las matrices pueden tambin utilizarse como argumento de las funciones intrnsecas.

    13.13. Funciones especficas para matrices.

    Algunas funciones especficas para el manejo de matrices, son las que se muestran en la Tabla N 15:

    Tabla N 15. Algunas funciones especficas para el manejo de matrices

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    73

    Obsrvese la diferencia de comportamiento de la funcin diag, en funcin de que el argumento de entrada sea una matriz o un vector.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    74

    Tambin se pueden definir matrices por bloques. Algunos de los bloques se muestran en la tabla N 16:

    Tabla N 16. Algunos operadores para definir matrices, mediante bloques.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    75

    13.14 Matrices sparse (huecas).

    MATLAB dispone de un sistema especial de almacenamiento y manipulacin de matrices huecas. La funcin

    donde:

    i , j son vectores de subndices, de la misma longitud c es un vector de la misma longitud que los anteriores n , m son nmeros naturales,

    genera una matriz de dimensin n x m , cuyos nicos elementos no nulos son los de subndice ( i(k) , j(k) ) , de valor c(k)

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    76

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    77

    13.15 Polinomios.

    En MATLAB los polinomios se identifican con el vector-fila de sus coeficientes:

    p = [3, 5, 0, 1, 2] representa el polinomio: 4 33 5 2x x x+ + +

    Algunas de las sentencias que dispone MATLAB, para operar con polinomios se muestran en la Tabla N 17:

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    78

    Tabla N 17. Algunas sentencias para operar con polinomios.

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    79

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    80

    13.16 Otros Comandos para operar con matrices.

    En las tablas N 18 , 19 y 20, se muestra un resumen de algunas de las funciones principales para operar con matrices.

    Tabla N 18. Algunas de las funciones principales para operar con matrices

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    81

    Tabla N 19. Algunas funciones principales, adicionales, para operar con matrices

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    82

    Tabla N 20. Otras funciones para operar con matrices.

    Ejemplos.

    Ingresar la matriz 1 4 27 3 115 9 6

    A

    =

    y calcular:

    a) Determinante de A. b) Transpuesta de A. c) Inversa de A (si es posible). d) Comprobar que 1*A A I = e) Traza de A. f ) 2 5A y A g) Autovalores de A h) Ae i) Polinomio caracterstico ( )P .

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    83

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    84

    Dadas las matrices 1 2 3 6 5 24 5 6 ; 0 7 3

    7 8 9 11 15 4A B

    = =

    , calcular:

    a) A + B. b) A - B. c) AB d) BA e) AB BA f) IAI g) IBI h) IABI i) IAI IBI j) IA + BI k) IAI + IBI

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07) Pg.

    Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

    85

  • Curso Introductorio sobre MATLAB y SIMULINK-- UNLZ (2006/07)