Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia Matlab
Guia Matlab
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
1. 1.1
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
-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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
12
>> EDU>>
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).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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: Reales: Complejos: .053 1.6e+5 -.658e-21 (i j son smbolos que representan la unidad Imaginaria) Caracteres (entre apstrofes): esto es una cadena de caracteres string 12 8.02 1+ 2i -3 -5.7 -3+ 5j
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
15
Se puede utilizar MATLAB como simple calculadora, escribiendo expresiones aritmticas y terminando por RETURN (<R>). 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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
21
En MATLAB existen funciones para las cadenas. Entre ellas se tienen algunas, como se muestra en la Tabla N 3:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
23
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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
Pg.
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 O con :
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,
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
File
Pg.
26
Se han definido dos nuevas variables, ww y zz, adicionales a las que tenamos anteriormente. Ahora lo salvamos con File Save 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 File Open.. con lo que se abre la ventana de dilogo que se muestra a continuacin , figura 5, donde se selecciona el archivo variables.mat .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
27
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
29
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
30
Otro uso del punto y coma es para escribir varias instrucciones en un mismo rengln separndolas con un punto y coma. Por ejemplo
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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
32
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
34
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
36
De esta manera, con el comando help podemos obtener informacin de la funcin que nos interesa.
Pg.
37
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.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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
V = r2 h
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
39
a = sym (a) x = sym (x) As, por ejemplo, si se desea trabajar con una funcin:
f = 5 x3 + ax + b
La funcin se puede crear definiendo primero las variables a, b y x, como simblicas para poder definir luego la funcin f.
z =x+ j y
donde x e y son variables reales, entonces lo primero es declarar x e y como variables simblicas reales con:
Ejemplo
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
40
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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 f ( x) = x y g ( x) = 1 , pero estos valores pueden ser modificados por el usuario.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
42
Fig. 8. (a) Grfica de la funcin f, (b) grfica de la funcin g, (c) Ventana principal de funtool
f ( x) = sen( x) g ( x) = 1 ( x + 1) a=3
Al presionar el botn f *g se obtienen las figuras 9 y 10 mostradas a continuacin:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
43
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).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
45
Pg.
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).
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
48
10.
11.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
49
12.
Operaciones bsicas.
muy simples de
Las operaciones bsicas de suma, resta, multiplicacin y divisin son realizar en MatLab. Ejemplo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
51
Ejemplo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
52
13.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
53
Ejemplo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
54
Ejemplo.
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.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
58
n p = xi i =1
La norma ms conocida es la norma Euclidiana (p=2) que es la tpica magnitud del vector x
n 2 = xi i =1
2 2 = x1 + x2 +
2 + xn
Pg.
59
Ejemplo Determinar la norma Euclidiana (p=2), la norma p=inf, y la norma para p=5 del vector
x = [3 -2 5 1 7]
v1 v v = 2 vn
es un escalar y est definido por
w1 w w = 2 wn
+ vn wn
vi w = v1w1 + v2 w2 +
MATLAB lo calcula mediante >>dot (v,w)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
60
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
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
61
5 a = 3 8
13 b= 6 35
Mayor informacin se puede obtener en la ayuda, escribiendo dot y cross en la Bsqueda en Search
x = [1.5,3, 5] , 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
x = [1.5,3, 5]
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
62
f (a11 ) f (a ) 21 f ( A) = f (am1 )
Si
es un vector, entonces
f ( v ) = [ f (v1 )
f (v2 )
f (vn )]
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 2 D= 5 8
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
Pg.
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
ax+b y = c d x+ey = f
Dichas ecuaciones se pueden resolver mediante:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
64
Linsolve, resuelve el mismo problema si se expresa el conjunto de ecuaciones en forma matricial. As, para el problema anterior
a b A= d e
c v= f
x w= y
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
2a 2b 2a + 6b 2c
=5 =0
2b + 6c 2d = 0 2c + 8d = 0
Dicho sistema se escribe en forma matricial como
Ax = b
La matriz A y los vectores x y b son
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
65
2 2 0 0 2 6 2 0 A= 0 2 6 2 0 0 2 0
a b x= c d
5 0 b= 0 0
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 = LU
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
66
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
67
Ax = 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 1 A= 3 4
2 3 4 4 9 16 1 0 5 7 3 8
Pg.
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
A = M -1J 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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
69
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
70
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:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
71
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
Pg.
73
Obsrvese la diferencia de comportamiento de la funcin diag, en funcin de que el argumento de entrada sea una matriz o un vector.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
74
Tambin se pueden definir matrices por bloques. Algunos de los bloques se muestran en la tabla N 16:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
75
13.14 Matrices sparse (huecas). MATLAB dispone de un sistema especial de almacenamiento y manipulacin de matrices huecas. La funcin
donde: i,j c n,m son vectores de subndices, de la misma longitud es un vector de la misma longitud que los anteriores 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)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
76
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
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:
3x 4 + 5 x3 + x + 2
Algunas de las sentencias que dispone MATLAB, para operar con polinomios se muestran en la Tabla N 17:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
78
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
79
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
80
Tabla N 18. Algunas de las funciones principales para operar con matrices
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
81
Tabla N 19. Algunas funciones principales, adicionales, para operar con matrices
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
82
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
83
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
84
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
85
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
86
3 5 14 1 2.5 0.6 3.1 6.25 , Dada la matriz A = 4.2 8.45 7.43 15.12 7 0 11.65 6.98
autovectores.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
87
13.17
MatLab dispone de algunos comandos que generan matrices particulares, que son de utilidad, como los que se muestran en la tabla N 21.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
88
13.18 Sistemas Lineales. Algunos de los comandos para operar con sistemas lineales se muestran en la Tabla N 22.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
89
Ejemplo. Una aplicacin importante del lgebra lineal, es la solucin de ecuaciones algebraicas lineales. Para considerar este caso se plantear otro ejemplo algebraico.
2.5 y +6.3 z +4 w = 9 3x 2 x +y 7.35w = 7 3z Dado el sistema lineal , 11w = 5 x 0.24 y 0.33 z 18 x +14 y 7.89 z +1.23w = 0.86
matricial.
resolverlo en forma
Pg.
90
Tabla N 23. Algunas funciones adicionales para el manejo de vectores. Ejemplo de aplicacin sobre la tabla precedente. Dados los vectores anterior.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
91
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
92
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
93
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
94
En muchas aplicaciones de ingeniera y ciencias es necesario describir un conjunto de datos de mediciones en forma analtica mediante un polinomio. La expresin de los datos de esta manera permite predecir resultados o simplemente describir el experimento mediante una ecuacin matemtica. para expresar los datos por medio de un polinomio, MATLAB utiliza el comando polyfit , cuya sintaxis es: polifix (x,y,n) Donde x, y son los vectores de datos y n es el orden del polinomio deseado Ejemplo En la tabla siguiente se muestran los datos obtenidos mediante una medicin experimental.
En primer lugar se graficarn los puntos de medicin mediante un asterisco. Para ello se emplean los comandos:
En la figura 12, se muestra la grfica de puntos de la s mediciones. En el grfico se han cambiado las escalas de los ejes x, y en el men Edit Axis Properties de -1 a 7 .El smbolo *k indica que los puntos se grafican con asteriscos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
95
Fig. 12. Grfica de los puntos de las mediciones Utilizando el comando polyfit se determina un polinomio de grado 3 que pasa por dichos puntos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
96
Fig. 13. Polinomio aproximador de grado 3. En el grfico de la figura 13 se puede ver que el polinomio de grado 3 es una aproximacin pobre, ya que en algunos puntos la diferencia entre la medicin y la aproximacin analtica puede ser considerable. Si se cambia a un polinomio de gado 5, se obtiene:
Pg.
97
13.21.2
Un spline proporciona otra manera de ajustar una curva a un conjuntote datos. El spline es una funcin formada por varios polinomios de tercer grado, con la condicin que el spline es diferenciable en todo punto. El spline es exacto en los puntos de medicin. La sintaxis es: y =spline (entrada x, entrada y ,x)
Donde:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
98
Fig. 15. Ajuste mediante splines cbicos. Si se compara este resultado con el que se obtuvo utilizando un polinomio de quinto grado, mediante polyfit, se puede ver que el spline da un mejor resultado, ya que este es exacto en los puntos de medicin.
13.21.3
Otra manera de realizar el ajuste de curvas, consiste en utilizar la interfase de ajuste llamada Basic Fitting que se encuentra en el men Tools. Para usar esta interfase primero se
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
99
deben graficar los puntos correspondientes a los datos, como se hizo anteriormente y que se muestra a continuacin, figura 16, para mejor comprensin.
Seleccionando Basic Fitting en el men Tools, y pulsando, se obtiene la pantalla mostrada en la figura 17.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
100
Fig. 17. Ventana del Basic Fitting. En la pantalla de la figura 17, se muestran varias opciones para polinomios interpoladores. Para continuar con el mismo ejemplo, se seleccionan las opciones: spline interpolation y 5th degree polynomial, al hacer esto se ve que MATLAB grafica automticamente el polinomio de quinto grado y la aproximacin por splines, que por otra parte son idnticas a las obtenidas anteriormente. Adems se puede mostrar las ecuaciones de los polinomios al marcar el espacio Show equations. Adicionalmente se puede ver el error de cada aproximacin marcando el espacio de Plot residuals que dispone de la opcin para representarlos con una grfica de barras (bar plot), con puntos (scatter plot), o con lneas
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
101
Fig.18. Interpolacin por spline con error en forma de barras (bar plot).
Fig.19. Interpolacin por spline con error en forma lineal (linear plot)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
102
En el ngulo inferior derecho de la pantalla de Basic Fitting hay una flecha que abre una ventana que muestra los coeficientes del polinomio de 5 grado, y otra flecha que al presionarla abre otra ventana donde se puede evaluar el polinomio que se obtuvo como se muestra en la figura 20.
Fig.20. Ventana de Basic Fitting, para ver el polinomio y la evaluacin en algunos puntos.
13.22.1
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
103
El comando eval requiere que la funcin a evaluar est entre tildes como si fuera una cadena de caracteres, adems debe estar definida por MATLAB o haberse definido previamente por el usuario. Otro comando til es feval, que permite evaluar una funcin en un punto o en un conjunto de puntos, es decir en un vector. As por ejemplo
13.22.2
Comando pause
El comando pause causa que MATLAB pase y espere un determinado tiempo antes de continuar los clculos durante la ejecucin de programas escritos usando MATLAB. Las opciones de pause son las siguientes:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
104
13.22.3
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
105
14.
Funciones escalares.
MatLab permite definir y operar funciones escalares de una manera simple, solo hay que adaptarse a la sintaxis del programa. Para tal fin, MatLab contiene una serie de funciones predefinidas, y adems permite que el usuario defina sus propias funciones. Algunas de las funciones predefinidas, se indican en la tabla N 25 , a continuacin.
Tabla N 25. Algunas funciones escalares predefinidas. Por supuesto que MatLab cuenta con muchas funciones adicionales que no se indicaron en la taba precedente. Queda para el lector la bsqueda e investigacin de dichas funciones. Ejemplo. Definir las funciones f ( x ) = sen x,
g ( x) = tg x, h( x) = e x , en el intervalo [0,15].
El ejemplo anterior muestra como ingresar funciones en MatLab. Si se trabaja en forma numrica, se debe indicar los valores que toma la variable independiente. En el ejemplo x varia entre 0 y 15 en pasos de 0.01. Si no se indica el valor de x, MatLab devuelve una frase que dice No se conoce la variable o funcin.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
106
Comandos adicionales. Algunos (no todos) comandos adicionales, con relacin a la operatoria de funciones escalares, son los que se muestran en la Tabla N 26.
Tabla N 26. Algunos comandos adicionales para la operatoria con funciones escalares.
Ejemplo. Dada la funcin escalar f ( x ) = 2.5 sen x + 4 e x . Definirla con la variable dada en forma simblica, y calcular la imagen de 5.25.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
107
La evaluacin de lmites es de primordial inters en clculo. MATLAB nos proporciona el comando limit para este fin. La sintaxis para calcular el lmite de una funcin f(x) cuando x tiende a xo limit (f, x, xo) que indica:
lim f ( x)
x x0
f ( x) = x3 , cuando x 2
f ( x) = x 2 + 1 x j
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
108
f ( x) = x 2 + 1 x
De Clculo, se sabe que una funcin son iguales. Ejemplo Considrese la funcin
f ( x) = tan x en x = 2 . Evaluando los lmites laterales se podr saber si dicha funcin es continua en x = 2 . Se procede a calcular dichos lmites:
Como
los
lmites
f ( x) = tan x en
que
la
funcin
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
109
Los lmites se pueden anidar, es decir, se pede calcular el lmite de un lmite Ejemplo Calcular el lmite de:
lim
[lim f ( x, y ) = 3 x 2 + 8 x y ]
x 3 y 2
En la pestaa de Bsqueda (Search) se puede obtener mayor informacin sobre lmites (Limits)
15.2
Lmites de sucesiones
an = n
1+ n n2
n , es decir:
lim an = lim
n
1+ n n2
15.3
Continuidad
lim f ( x) = f (a )
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
110
Si esto no se cumple se dice que la funcin es discontinua. Si el lmite existe pero es distinto de f ( a ) entonces se dice que f ( x ) tiene una discontinuidad evitable en x = a . Considrese las funciones:
f ( x) =
sen x x
1 g ( x) = sen x
El lmite de
f ( x)
cuando
xa
se obtiene mediante
x 0 , se obtiene
Para la funcin
g ( x)
cuando
xa
Pero para
x0
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
111
La devolucin de MATLAB indica que el lmite est en el intervalo [-1,1]. Si calculamos los lmites laterales a derecha e izquierda se obtiene:
x=0
xy x + y2
2
En la funcin dada, se puede tender al origen de muchas maneras, entre ellas las dos maneras siguientes:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
112
Como los dos lmites son iguales, entonces el lmite al acercarse al origen existe y es igual a cero. Una manera muy til es calcular el lmite llegando desde cualquier direccin. As , si se desea tender al punto ( 0, 0 ) por medio de lneas rectas, se puede usar la ecuacin de la familia de rectas que pasan por el origen dada por
y = mx
Donde en:
f ( x, y )
se convierte
mx 2 f ( x, y ) = 2 x + mx
De esta manera, el lmite se calcula con solo hacer tender
x0
Tambin se puede tender al punto (0, 0 ) utilizando cualquier otra familia de curvas, por ejemplo la familia de parbolas:
y2 = m x
Con lo que la funcin de dos variables se convierte en:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
113
f ( x, y ) =
El lmite es
xy m1 2 x3 2 = 2 x 2 + y 2 x + mx
Como se puede ver el clculo de los lmites coinciden, independientemente de la familia de curvas con las cuales se tiende al punto (0,0).
15.4. Derivacin
Como se ha mencionado oportunamente, MATLAB realiza clculos en forma numrica y simblica. Muchas veces no interesa el resultado numrico sino el resultado algebraico de haber realizado la operacin matemtica de derivacin. As por ejemplo, la derivada de
La operacin derivada es diff ( f ). Para calcular la derivada segunda y tercera se procede de la siguiente manera:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
114
g ( x, y ) = 3 x 4 y 2
y, se desea realizar en primer lugar la derivada respecto de x , y luego con respecto a y .Para eso se tienen que definir las variables x, y como simblicas .
En general, en caso de existir dos variables simblicas la derivada se realiza con respecto a las ltimas letras del alfabeto, como son w, x, y, z, a menos que se indique lo contrario. As para la funcin
q ( x) = 3a 2 x
, se tiene
Como se puede ver, MATLAB realiz la derivada con respecto de Veamos otro ejemplo
f ( z) = z n
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
115
, se efecta:
n,
Siempre conviene, en caso de duda, explicitar claramente con respecto a que variable se desea realizar la derivada. Ejemplo Sea la funcin
f ( x, y ) = sen( xy )
En este ejemplo, se ve que las variables simblicas estn ordenadas alfabticamente, de manera que MATLAB al calcular f3 lo hace derivando respecto de x .(que est antes que y en el alfabeto).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
116
Nota: Tngase presente que las derivadas de funciones de dos o ms variables con respecto a ellas son derivadas parciales, es decir:
diff ( f , x) =
f x
y diff ( f , y ) =
f y
15.5. Integracin
La operacin de integracin indefinida est dada en MATLAB por:
F = int( f ) f ( x) dx
Donde la nueva funcin F satisface a:
diff ( F ) = f
MATLAB devolver F siempre que exista. Para una funcin de dos variables f debe indicar explcitamente con respecto a qu variable vamos a integrar, es decir
( x, y )
se
int( f , y )
Esto indica que MATLAB realizar la integracin con respecto a
y.
f ( x)dx ,
a
f (v)dv
a
MATLAB utiliza
int( f , a, b) ,
Ejemplo Calcular
int( f , v, a, b)
cos( x)dx
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
117
Ejemplo
Evaluar
5x dx
0
MATLAB permite calcular integrales impropias , siempre y cuando stas converjan. Ejemplo
2 x
Para el caso de integrales impropias en las cuales hay puntos singulares como por
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
118
El comando int slo integra funciones simblicas, y por lo tanto es necesario tener instalado el paquete de matemtica simblica (Symbolic Math Toolbox). Para obtener informacin adicional se deber consultar en la pestaa de Bsqueda (Search) escribiendo int en la seccin de Symbolic Math Toolbox.
15.6
Series
f ( n)
n= a
Para ello se emplea el comando symsum. El formato de dicho comando es: symsum(f,n,a,b) Donde f es la funcin, n es la variable, a es el lmite inferior y b es el lmite superior. Ejemplo Evaluar la serie de potencias
xn
n =0
Ejemplo
Evaluar la serie
1 1 + n n =0
n2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
119
Dy = dy / dt D 2 y = d 2 y / dt 2 Dny = d n y / dt n
As, para la ecuacin diferencial
d2y = 1 + y2 2 dt
D2 y = 1 + y ^ 2
d 2 y (t ) + y (t ) = 4 dt 2
y (0) = 1, dy (0)
dt
=0
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
120
Como se puede ver MATLAB utiliz las condiciones iniciales para calcular las constantes. Obsrvese que MATLAB consider como variable dependiente a t. Si se desea que x sea la variable dependiente, entonces se debe realizar este cambio en MATLAB, de la siguiente manera:
d 2 y (t ) dy (t ) +a + by (t ) = c 2 dt dt
El comando dsolve nos da la solucin
Esta solucin se puede escribir en forma ms fcil de leer con el comando pretty:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
121
x(0) = 1;
y (0) = 2
Otro mtodo para resolver ecuaciones diferenciales es mediante la separacin de variables. As en la ecuacin diferencial:
y 2 senx dx (1 + y ) 2 dy = 0
La ecuacin diferencial se puede escribir como:
senx dx =
(1 + y ) 2 dy y2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
122
El mtodo, consiste en integrar ambos miembros por separado, y luego resolver la igualdad resultante. Para el ejemplo se tendr:
an
dny d n 1 y + an 1 n1 + dt n dt
+ a2
d2y dy + a1 + a0 y = 0 2 dt dt
an x n + an1x n1 +
Su ecuacin caracterstica es:
+ a2 x 2 + a1x + a0
an x n + an1x n1 +
+ a2 x 2 + a1x + a0 = 0
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
123
Si las races de la ecuacin caracterstica son r , r2 , , rn , entonces la solucin de la 1 ecuacin diferencial est dada por:
C1 , C2 , , Cn
mediante
MATLAB
la
ecuacin
diferencial
homognea:
d y (t ) dy (t ) +7 + 10 = 0 2 dt dt
Si se conocen las condiciones iniciales, se pueden calcular los coeficientes C1 y C2, empleando el comando solve.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
124
Aparte del comando dsolve MATLAB proporciona otros comandos para resolver ecuaciones diferenciales. Dos de ellos son:
La sintaxis de estas funciones es: [t, y] = ode23 (f, [t_ inicial, t_ final], yo) [t, y] = ode45 (f, [t_ inicial, t_ final], yo) Donde f es una cadena de texto, que indica dnde est definida la ecuacin diferencial, t_ inicial y t_ final son los tiempos inicial y final para la simulacin e yo es la condicin inicial. Ejemplo Resolver mediante MATLAB, empleando ode23 y ode45 , la siguiente ecuacin diferencial
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
125
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
126
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
127
16
GRFICAS
En este apartado se ver el potencial de MATLAB para graficar funciones y datos. Las caractersticas y opciones de graficado son muy variadas en MATLAB. Se tiene la posibilidad de generar grficas en 2D y 3D hasta la posibilidad de cambiar las propiedades de ellas.
16.1
Los comandos que se presentan en este apartado son funciones MATLAB,fciles de usar (easy-to-use) para representar grficamente, de forma rpida funciones definidas por una expresin matemtica. Tienen solo un pequeo nmero de parmetros que se pueden especificar. Todas ellas hacen uso de otras funciones MATLAB que disponen de un nmero superior de opciones y parmetros que podemos modificar. Cuando se necesite hacer uso de grficas de funciones que no vienen definidas por una frmula (definidas a trozos, definidas a travs de programas o por sus valores en un nmero de puntos,) habr que recurrir a dichas funciones ms generales. 16.2 Curvas planas. El comando ms fcil de usar de que dispone MATLAB para dibujar curvas planas definidas por una frmula matemtica (no por un conjunto de valores) es el comando ezplot, que puede ser usado de varias formas.
Ejemplo.
Pg.
128
Ejemplo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
129
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
130
16.3
Curvas en el espacio
Para dibujar curvas en el espacio tridimensional, MATLAB dispone del comando ezplot3:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
131
16.4
Superficies.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
132
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
133
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
134
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
135
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
136
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
137
17
17.1
Vamos a ver algunos comandos que modifican el aspecto de un grfico. Veremos su efecto sobre la grfica. En estas notas no se exponen todas las posibilidades de estos comandos. Utilizando el help de MATLAB, se pueden ver el resto de las opciones. Se utilizar como base el grfico de la figura 39, sobre el cul se mostrarn los comandos auxiliares.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
138
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
139
Fig. 40. Grfica con y sin grilla. En la figura 41 se muestra la grfica con etiquetas en los ejes y ttulo
Fig. 41. Grfica con etiquetas y ttulo. En la figura 42 , se muestra la grfica la grfica sin los ejes y con diferentes factores de escala.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
140
En la figura 43, se muestra la grfica con diferente punto de observacin y varios colores alternativos
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
141
Pg.
142
En la tabla N 27 , se muestran algunos comandos accesorios para trabajar con las ventanas grficas
Tabla N 27. Comandos accesorios para trabajar con las ventanas grficas. En la figura 44 se muestra el comando subplot
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
143
18.
Veremos aqu un resuman de los comandos ms completos de que dispone MATLAB para dibujar curvas planas y en el espacio, superficies, lneas de nivel, etc. En la figura 45 se muestra el comando plot .
Fig. 45. Comando plot (x, y) En la figura 46 se muestra el comando plot para graficar varias curvas simultneamente.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
144
El comando plot asigna, por defecto, determinados colores a las grficas. Estos colores, as como el tipo de lnea a utilizar para dibujar (continua, de puntos, con marcadores, etc.) se pueden modificar, como se muestra en la figura 47.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
145
Fig. 50. Comando surf con algunas de sus variantes. En la figura 51 se muestra el resultado de usar el comando combinaciones
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
146
Fig. 51. Comando contour y algunas de sus variantes. En la Tabla N 28 se muestran algunas posibilidades para colorear los grficos o mapas.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
147
Ejemplos
(m)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
148
EJEMPLOS. Ej.1) Sea el conjunto de puntos (x, y), dados en el cuadro de valores siguiente:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
149
Ej.3)
Pg.
150
Ej.4a) Mostrar en el mismo grfico, con ejes comunes, las siguientes funciones: f ( x) = sen 5 x, g ( x) = cos(4 x + 3), h( x) = sen 2 x + cos 3x , en el intervalo [0,10].
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
151
g ( x) = sen1.5 x + cos ( x + 5) .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
152
Fig. 59. Grfico de las funciones f(x), g(x) y f(x)+g(x), con distintos tipos de lneas.
+ 5)
Mediante los comandos indicados ms arriba se obtiene el grfico mostrado en la figura 60.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
153
Fig. 60. Grfico de la funcin con el comando ezplot. MatLab cuenta con varios comandos (aparte de los ya vistos) que son importantes para el manejo de grficos, algunos de los cuales se muestran en la Tabla N 29.
Tabla N 29. Algunos comandos auxiliares para el manejo de grficos Ejemplo. Dada la funcin f ( x) = e cos( x [-3,3].
3
+ 5)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
154
Fig. 63. Grfica de la funcin con escalas iguales. En muchas aplicaciones es necesario visualizar varios grficos simultneamente pero no superpuestos. Para ello MatLab dispone de una funcin que permite dividir la ventana grfica en n x m subventanas, y coloca el grfico en la ventana j-sima. La sintaxis es:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
155
Ejemplo. Visualizar simultneamente, pero no superpuestas, las grficas de las siguientes funciones.
Pg.
156
en muchas aplicaciones de ingeniera y ciencias se facilita la interpretacin y el trabajo con grficos, si los mismos se representan en escalas semilogartmicas y doble logartmicas. Las funciones de MatLab que permiten lograr tales grficos son las indicadas en la Tabla N 30.
Ejemplo. Sea la funcin : f ( x) = e 0.3 x : representar la grfica en escalas logartmicas en combinacin con la operacin subplot.
2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
157
el
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
158
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
159
Ejemplo.
Pg.
160
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
161
Para la seal modulada en frecuencia, se emplea la expresin que describe tal tipo de modulacin, como se describi al principio. Con el fin de obtener algunos grficos ilustrativos, se considerarn cuatro seales modulantes, lineal, cuadrtica, senoidal y exponencial. A continuacin se muestra el conjunto de instrucciones requeridas para realizar los grficos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
162
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
163
El objetivo es graficar la respuesta a una seal de entrada escaln unitario, y la respuesta en frecuencia del sistema. Para ello es conveniente determinar la funcin transferencia del sistema de control:
Y ( s) 5 = 3 2 U ( s ) s + 4 s + 1.8s + 5
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
164
Fig. 71. Respuesta temporal del sistema de control del ejemplo. La respuesta en frecuencia se suele expresar como un diagrama de Bode (Amplitud y fase) en un grfico semilogartmico.
Pg.
165
19 19.1
Este tipo de grficas se obtiene con el comando bar (x, y, s) Donde y es un vector de valores de las coordenadas x, y s son las opciones de la grfica. As, por ejemplo, para graficar 51 puntos de -20 a +20, se usa:
Pg.
166
19.2
Grfica de escalera.
La misma funcin se puede graficar en forma de escalera mediante el comando stairs (x, y, s)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
167
19.3
Grfica de histograma
La grfica de histograma es similar a la grfica de barras, pero slo proporciona 10 barras entre el mximo y un mnimo del vector y . El comando es hist (y, n) Donde y es la variable que se desea graficar y n es el nmero de barras de la grfica.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
168
19.4
Se refiere a una grfica de puntos cuyo comando en MATLAB es: stem(x, y, s) Ejemplo Representar en una grfica de puntos la secuencia aleatoria (random) ambos lados del eje de abscisas de 60 puntos a
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
169
19.5
Est grfica muestra la magnitud y argumento de nmeros complejos. El comando es compass (z) = compass (x+jy) = compass (x,y)
z = x+ j y
z = [3 + 2.5 j , 5 + 3 j ,8 10 j , 5 6 j ]
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
170
19.6
La grfica de torta (pie) es una grfica para mostrar que porcentaje de cada elemento en un vector o matriz contribuye a la suma de todos los elementos. As los comandos
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
171
20
PROGRAMACIN EN MATLAB
MATLAB proporciona un lenguaje de programacin muy poderoso con un ambiente computacional interactivo. Una ventaja muy importante que tiene la programacin en MATLAB cuando se compara con otros lenguajes de programacin, es que MATLAB no requiere la declaracin de las variables y sus tipos al principio del programa, ya que las mismas se definen automticamente cuando se usan por primera vez. A los archivos que contienen cdigos de MATLAB se los llama archivos-M (M-files) y tienen la extensin .m. Existen dos tipos de archivos-M, que son los Scripts y Funciones.
Los Scripts no aceptan datos de entrada o producen datos de salida. Usan datos de variables que se han usado con anterioridad en la sesin de MATLAB. Las funciones pueden aceptar datos o argumentos de entrada y regresan tambin datos de salida. Las variables internas de una funcin son variables locales.
Para ver el contenido de un archivo-M se utiliza el comando type. As por ejemplo para ver el archivo sesion.m se utiliza el comando type sesin Con lo cual se ve el contenido de dicho archivo
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
New
M-File Crtl+N
Pg.
172
Fig. 80. pantalla para crear un archivo M-file El directorio para guardar un archivo-M se abre con la secuencia:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
File
Pg.
173
Para ver la trayectoria donde se guard un archivo-M, se procede de la siguiente manera a) Se selecciona Set Path (En la pestaa File de MATLAB) b) En la ventana Add Folder se indica dnde se desea guardar los archivos-M En la figura 82, se muestra la secuencia grfica de pantallas.
Fig. 82. Visualizacin de la trayectoria de un archivo M-file. Los archivos-M ms importantes y usados, son las funciones. La estructura de una funcin puede incluir los siguientes puntos: 1. 2. 3. 4. 5. Comentarios, los cuales comienzan con el smbolo % Instruccin para leer los datos de entrada Instrucciones a ejecutar Instrucciones para escribir los datos de salida Instruccin end para terminar la funcin.
Para editar un archivo-M se puede usar un editor de texto como Word. Lo nico que se debe hacer al terminar es guardar el archivo como archivo de texto con la extensin .m. Tambin se puede usar el editor de archivos-M M-file Editor / Debugger, el cul se puede abrir con la secuencia: File M-File, como se muestra en la pantalla de la figura 83.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
174
Fig. 83. Archivo Editor/Debugger En la pantalla mostrada en la figura 83, se desarrolla el programa, por ejemplo, para calcular el volumen de un cilindro, como se muestra en la pantalla de la figura 84.
Fig. 84. Pantalla del Editor del programa. Una vez que se escribi el programa (Untitled 8), se le coloca un ttulo y se guarda en el sub-directorio Mario, dentro del directorio de MATLAB, como se muestra en la pantalla de la figura 85.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
175
Fig. 85. Archivo Mario.m Para buscar el programa, se puede seleccionar File Open, y se tiene el archivo Mario con extensin .m, como se muestra en la pantalla de la figura 86.
Pg.
176
Presionando el botn Abrir, se despliega el programa realizado, para calcular el volumen del cilindro, bajo el ttulo Mario.m. Si el archivo-M se guarda en otro directorio, se debe informar a MATLAB donde se encuentra con el comando Set Path en el men File, de la manera que se mencion ms arriba.
20.1
Son instrucciones simples que se requieren dentro de un programa de MATLAB. El uso de estas instrucciones permite realizar programas simples pero ilustrativos del potencial de MATLAB.
20.1. a)
Un aspecto vital en todo lenguaje de programacin es la posibilidad de poder cambiar la secuencia en que se ejecutan las instrucciones, dependiendo de que se satisfagan algunas condiciones que pueden depender de valores de las variables que se generaron durante el programa. En MATLAB la declaracin if-end se usa para este propsito y su forma general es: >> if condicin declaraciones >< end La condicin del if puede contener operadores lgicos. Los operadores lgicos disponibles en MATLAB se muestran en la Tabla N 30. Si la condicin se cumple entonces se ejecutan las declaraciones siguientes hasta el end. Si la condicin no se cumple, el programa ejecuta la primera instruccin despus de end.
Pg.
177
La condicin es de la forma e1 R e2 , donde e1 y e2 son expresiones aritmticas, y R es alguno de los operadores de relacin mostrados en la Tabla N 31.
Ejemplo Usando la instruccin if-end, realizar un programa para la siguiente situacin. Una calificacin debe ser mayor que 7 para aprobar. El programa lee el dato e indica si el individuo est aprobado o reprobado. El archivo se genera con el editor de MATLAB y se guarda en el directorio C:\MATLAB6p1\work, con el nombre Archivo Ejemplo_1.m, como se indica en las pantallas de las figuras 87 y 88..
Fig. 87. Programa Ejemplo_1.m Este programa que no tiene ttulo, se guarda en el lugar mencionado previamente, como se muestra en la pantalla de la figura 88.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
178
Fig. 88. Programa Ejemplo_1, guardado en el archivo work. A continuacin se abre la ventana de comando (Command window) y se corre el programa con calificaciones de 8.5 y 6 puntos, como se muestra en la pantalla de la figura 89:
Pg.
179
20.1 b) Instruccin if-else-end if-elseLa inclusin de la clusula else en el if-end permite al programador el uso de un solo if en muchas aplicaciones para ejecutar dos conjuntos de declaraciones. La forma del if-else-end es
a1 a la an .
Despus de la
an
Si la condicin no se cumple, se ejecutan las declaraciones b1 a bm . Al terminar la declaracin bm , el programa contina con la instruccin que sigue al end. Como se puede ver claramente el if-else-end corresponde a dos if-end. Para las aplicaciones el programador puede usar lo que ms le conviene.
Ejemplo Realizar el programa del ejemplo precedente, utilizando la instruccin if-else-end En la pantalla de la figura 90, se muestra el programa designado Ejemplo_2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
180
Fig. 90. Programa Ejemplo_2 Desde la ventana de comandos se llama el programa Ejemplo_2 y se ejecuta para diferentes entradas (calificaciones).
Como se puede ver, el comportamiento del programa es idntico al del ejemplo anterior.
20.1 c)
Instruccin elseif
La tercera forma de la declaracin if usa la palabra clave elseif. Con el elseif se puede verificar un mayor nmero de condiciones. La sintaxis es:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
181
En el elseif se verifica qu condicin se cumple primero, ejecuta las declaraciones despus de la condicin, y contina con la instruccin que sigue al end. Ejemplo Realizar el ejemplo anterior, utilizando la instruccin elseif En la pantalla de la figura 91 se muestra el programa designado Ejemplo_3.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
182
Tambin se puede observar que, si el usuario se equivoca al cargar los datos, el programa responde adecuadamente, dando seales del error cometido, por parte del operador.
20.1 d)
La instruccin switch-case se utiliza cuando se desea verificar si una expresin es switchigual a algn valor determinado. No se puede utilizar para verificar una condicin como a>7 b 5 . No obstante, encuentra aplicaciones en muchas situaciones donde se requiere ejecutar declaraciones distintas dependiendo del valor de una expresin. La sintaxis utilizada tiene la forma siguiente:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
183
Cada valor puede ser numrico o una cadena de texto. Adicionalmente cada tener uno ms valores, como se muestra a continuacin
case
puede
En este caso si la expresin es igual a cualquiera de los valores valor1, valor2,, valorh se ejecutan las declaraciones 1 a j.
Ejemplo Veamos como se puede modificar el problema de los ejemplos anteriores, empleando la sentencia switch-case En la pantalla de la figura 92 se muestra el programa, designado, Ejemplo_4
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
184
Fig. 92. Programa Ejemplo_4. Una vez que el programa est cargado en el archivo con extensin .m, desde la ventana de comandos ejecutamos el mismo, como se muestra a continuacin
20.1 e)
Instruccin for
La instruccin for se utiliza para formar ciclos o bucles de instrucciones que se tienen que repetir un nmero determinado de veces. La sintaxis que usa MATLAB es
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
185
En esta expresin si se cumple que varaiable=expresin entonces se ejecutan las declaraciones de 1 a n, para continuar despus con la declaracin que est despus del end. Si no se cumple, ya no se ejecutan las declaraciones 1 a n, y la siguiente declaracin que se ejecuta es la est despus del end. Es posible que en alguna aplicacin, las declaraciones 1 a n no se ejecuten ni una sola vez. Ejemplo Realizar la suma de los primeros 20 enteros, utilizando la instruccin for. En la figura 93, se muestra el programa desarrollado para resolver el problema, y designado Ejemplo_ 6.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
186
Ejemplo Si se desea sumar los enteros pares entre 1 y 20, el programa sera, como el mostrado en la figura 94.
Fig. 94. Programa Ejemplo_7 En la pantalla de comandos se ejecuta el programa, como se muestra a continuacin:
Comentarios: Ntese que 1:20 significa que la variable i cambia de 1 a 20 en incrementos de 1 en cada iteracin. Esto tambin se puede escribir como 1:1:20 Para la suma de los nmeros pares se ha utilizado 0:2:20 lo que indica que la variable i se incrementa de 2 en 2 a partir de cero, lo que da la suma de los enteros menores o iguales a 20 y mayores o iguales que cero. El incremento puede ser negativo (decremento), as por ejemplo 6: -1: 0 , comienza en seis(6) y continua con decremento de 1, lo que nos da 5, 4, 3 , 2 , 1 y termina en cero. Finalmente el incremento o decremento puede ser fraccionario, como por ejemplo en 5:0.25:7 esto da 5, 5.25, 5.50, 5.75, 6.0, 6.25, 6.5, 6.75, 7.0.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
187
n! = 1 2 3
La operacin de clculo se puede ejecutar con la instruccin for, como se muestra en el programa de la figura 95.
Fig. 95. programa ejemplo_8 En la ventana de comando, ejecutamos el programa Ejemplo_8.m, como se muestra a continuacin
Nota: Los for se pueden anidar, es decir, dentro de un ciclo for puede haber uno o ms ciclos for.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
188
Ejemplo (del empleo de la instruccin for anidada) Se desea sumar todos los elementos realizando la suma
aij
de una matriz
nm .
suma =
i =1
aij
j =1
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
189
20.1 f)
Instruccin while
La instruccin while sirve para repetir un conjunto de declaraciones e instrucciones un nmero indeterminado de veces. La diferencia con la instruccin for , es que sta se ejecuta un nmero determinado de veces. La sintaxis es:
Modo de funcionamiento del while: Si la condicin no se cumple, entonces se ejecuta la primera instruccin despus del end. Si la condicin se cumple, se ejecutan todas las declaraciones de la 1 hasta la n. En este punto se verifica si la condicin todava se cumple, y de ser as se vuelven a ejecutar las declaraciones de la 1 hasta la n y se vuelve a verificar la condicin. Este proceso se repite hasta que la condicin no se cumple, en cuyo caso se salta a ejecutar la primera declaracin despus del end.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
190
Ejemplo Calcular el volumen de una esfera de radio 1 hasta 4. En la figura 97, se muestra el programa Ejemplo_10
Fig. 97. programa Ejemplo_10 Desde la ventana de comandos se ejecuta el programa, como se muestra a continuacin:
20.2
Funciones (function)
Una function en MATLAB, es un subprograma que se puede emplear para escribir un programa muy grande en varios subprogramas ms pequeos o para realizar una tarea repetitiva escribiendo solamente un programa. La forma que toma una funcin es:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
191
Donde: x es el argumento o parmetro de entrada y es el parmetro de salida operacin es el nombre de la funcin Ejemplo Clculo de la factorial utilizando la instruccin function En la figura 98, se muestra el programa designado factorial.m
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
192
ax 2 + bx + c = 0 .Las
2
soluciones analticas
de esta ecuacin estn dadas por: x1,2 = ( b b 4ac ) 2a Una funcin que calcula estas soluciones es la funcin cuadrtica(a, b, c) guardada en el archivo cuadrtica .m El programa se muestra en la figura 99.
Pg.
193
20.3
Manejo de archivos
Hasta ahora los datos de los programas y funciones se dan a travs del teclado(entrada) y se muestran los resultados en pantalla(salida) . Otra manera de dar datos a un programa de MATLAB es a travs de archivos. Estos archivos pueden ser creados por MATLAB o por algn otro programa. Esta ltima opcin permitira intercambiar datos entre MATLAB y otros programas. Una ventaja de usar archivos con datos de entrada/salida es que se pueden guardar en disco. De esta manera, al apagar la computadora, los datos no se pierden y se pueden usar nuevamente cuando se encienda la computadora. 20.3.1 Abrir y cerrar archivos. Para leer de un archivo o escribir en un archivo es necesario abrirlo. MATLAB abre un archivo con el comando fopen, cuya sintaxis es: fid = fopen(nombre-del-archivo, permisos) Donde nombre-del archivo es el nombre del archivo, el cual ya debe existir para poder leerlo. Si este no existe, se crear con el nombre dado y permisos es una variable que especifica como se abre el archivo. Los cdigos de permisos disponibles e identificadores para abrir archivos, se muestran en la tabla N 32.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
194
Tabla N 32. Permisos e identificadores para archivos. Se pueden abrir tantos archivos como se desee; fid es un identificador que identifica el archivo que se acaba de abrir y se le llama identificador (handle). Este identificador comienza con el valor 3, ya que los identificadores -1 a 2 tienen un significado especfico para MATLAB. Despus de terminar de usar los datos de un archivo, este se debe cerrar. El comando para cerrar archivos en MATLAB es close, que tiene la sintaxis: status = fclose (fid) Donde fid contiene el identificador del archivo que se desea cerrar. La variable status nos da otro identificador para saber si el archivo se cerr correctamente. Un status = 0 , indica que se cerr correctamente, mientras que un status = -1 , indica que no se pudo cerrar el archivo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
195
Ejemplo
Uso de fopen
Supngase que se desea abrir un archivo inexistente llamado rodolfo_14.txt. Para ello utilizamos, la ventana de comandos como muestra la figura 100:
Fig. 100. Archivo inexistente rodolfo_14.txt El fid que llamamos identificador_archivo es -1 ya que se quiso leer un archivo inexistente. Si se utiliza w , en lugar de r , se obtiene, lo mostrado en la figura 101.
Fig. 101. Archivo rodolfo_14.txt El valor que se obtiene para el fid es 3 , indicando que se cre el archivo rodolfo_14.txt , ya que no exista, y ahora ya se puede escribir en l los datos que se necesiten. este archivo abierto se identifica con identificador_archivo=3. Si ahora se crea otro archivo, por ejemplo datos_1.txt , con las sentencias mostradas en la figura 102.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
196
Fig. 102. Archivo datos_1.txt Para este archivo, el identificador fid es 4, ya que estos identificadores se asignan secuencialmente. Con el comando dir se pueden ver todos los archivos abiertos en el directorio en el que estamos trabajando, en donde se vern los archivos que se acaban de abrir:
Como no se ha escrito nada, los archivos estarn abiertos. Se puede utilizar cualquier procesador de textos para ver su contenido, como por ejemplo el Bloc de notas de Windows o Word. Para cerrar un archivo se usa fclose, cuya sintaxis es: status=flose(fid) Donde fid es el identificador con el que se abri el archivo que se desea cerrar. La variable
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
197
20.3.2
La forma ms simple de escribir en un archivo es empleando la instruccin fprintf. Esta instruccin ya la hemos utilizado para escribir datos de salida en la pantalla de MATLAB. En la figura 103 se muestra el proceso.
Fig. 103. Uso del fprintf. Para escribir en un archivo, primero se necesita crearlo y abrirlo. Si se abren dos archivos, como se muestra en la figura 104.
Fig. 104. Apertura de dos archivos, archivo1.txt y archivo2.txt. Para escribir a un archivo, se necesita indicar su figura 105.
Pg.
198
Para ver lo que se escribi en dichos archivos, primero se cierran los respectivos archivos con: >> fclose (3),fclose (4); Ahora se pueden abrir los archivos con el Bloc de Notas y observar lo que se escribi en ellos.
Si cada dato es menor que los caracteres indicados, los caracteres restantes se llenan con espacios en blanco. Cada uno de los incisos se almacena en un arreglo. Si hay 10 alumnos que tienen notas arriba de siete, entonces cada inciso es un arreglo de 10 lneas. Los datos son:
script, mostrado en la
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
199
Fig. 106. Archivo Ejemplo_2007.m Luego de correr el programa, al abrir con el bloc de notas se puede ver el archivo, como se muestra en la figura 107.
Se pueden leer los datos del archivo desde un programa de MATLAB. Para ello se deben
verificar varias cosas: 1. Si ya se lleg al final del archivo con un final de archivo end_of_file que se denota por feof. 2. Leer cada cadena con un fscanf y asignarla a su campo correspondiente. 3. cerrar el archivo despus de encontrar el final del archivo feof. El programa script, es el mostrado en la figura 108.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
200
Fig. 108. Programa script. Comentarios: (a) La condicin de while prueba para ver si el archivo ya se termin buscando el end-offile (fin del archivo). (b) El fscanf busca los primeros caracteres usando el formato %9c, que lee los primeros 9 caracteres, incluyendo espacio. Si se hubiese utilizado el formato %9s, slo se leen los caracteres y se ignoran los espacios. El 1 indica que solo se lee un elemento. De esta manera cadena = fscanf(fid_datos,%9c,1) indica que se lea un elemento del archivo abierto con el identificador fid_datos y que se coloque en la variable cadena. (c) La lnea coma=fscanf (fid_datos,%2c,1, indica que despus de leer la primera variable se lea una coma. No se hace nada con la coma pero se necesita leerla, ya que de otra manera la leera la siguiente instruccin fscanf. (d) Para el Legajo y Nota es necesario leer un dato numrico por lo que se usa lee un dato decimal de 2 caracteres.
%2d que
(e) Despus de leer las notas se terminan los datos y se llega al final de la lnea, lo cul se lee con un carcter especial, por lo que es necesario leerlo con:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
201
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
202
21
Una de las hojas de clculo ms usadas en muchas reas de ingeniera, ciencias, finanzas, contabilidad y otras es EXCEL. Dado que tanto MATLAB como EXCEL pueden leer y escribir datos en archivos, es posible que los datos de un archivo creado por MATLAB puedan ser ledos por EXCEL y viceversa. MATLAB puede crear archivos de datos separados por comas. Esto es ideal para que EXCEL pueda leer estos datos. Considrese el archivo del ejemplo anterior, guardado como Datos_del_curso.txt. Recurdese que este archivo tiene los datos separados por comas, las cuales reciben el nombre de separadores o delimitadores. Si ahora se desea abrir estos datos con EXCEL, se ejecuta EXCEL y se selecciona Archivo, con lo que se ve la ventana mostrada en la figura 109
Abrir
Cuando EXCEL abre archivos y lee los datos reconoce que estos datos no fueron creados por EXCEL y que estn delimitados por separadores, como se muestra en la figura 110, (Step 1 of 3).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
203
Fig. 110. Asistente para importar textos, paso 1 de 3. Para que EXCEL los pueda leer, se selecciona Delimited (Delimitados) y se presiona Next (siguiente) para obtener la ventana de dilogo que se muestra en la figura 111, (Step 2 of 3), donde se especifica la coma como delimitador (el delimitador por omisin es el Tab).
Pg.
204
Antes de presionar el botn Siguiente, se seleccionan todos los datos, y aparece como se muestra en la ventana de la figura 112 (Step 3 of 3).
Fig. 112. Asistente para importar textos, paso 3 de 3. Se presiona Finalizar, y EXCEL importa todos los datos y aparece como se muestra en la ventana de Excel de la figura 113. Ahora s, se pueden procesar los datos en EXCEL.
Pg.
205
Los datos que va a escribir MATLAB a un archivo, se pueden separar automticamente por comas con la instruccin csvwrite (nombre_del_archivo, m) donde csv son las iniciales de comma separated values (valores separados por comas). As los datos de un arreglo A se escriben en el archivo matriz separados por comas, la extensin ser csv. De esta manera para A dado por una matriz como se muestra en la figura 114.
Fig. 115. Archivo matriz.csv Este archivo se puede ver mediante el WordPad, como se muestra en la figura 116.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
206
Fig. 116. Vista del archivo con el WordPad Como EXCEL reconoce archivos con la extensin csv, se puede leer el archivo matriz.csv. Para hacer esto se ejecuta EXCEL y se abre el archivo. La ventana se ve como muestra la figura 117.
22.
El formato csv permite el intercambio de datos entre distintos programas. EXCEL permite crear archivos con esta extensin que pueden ser ledos por MATLAB. Para ver como se procede, considrese el conjunto de datos en EXCEL como muestra la figura118.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
207
Fig. 118. Archivo datos_9_9.csv en Excel Los datos se salvan en el archivo datos_9_9.csv, como se muestra en la figura 119.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
208
Ahora que el archivo est salvado como datos_9_9.csv, se puede ver en MATLAB usando, la ventana de comandos, como se muestra en la figura 120.
Ejemplos de Programacin.
Ejemplo1. Supngase que se desea determinar el volumen y la superficie de recipientes cilndricos de diferente tamao. Para ello se requiere una funcin que ingresando el radio y la altura d los valores requeridos. Se ingresa al editor de archivos M de MatLab y se desarrolla el siguiente programa.
Luego se salva el archivo con el nombre (por ejemplo) de cilindro_vol_sup.m en el directorio de MatLab. Luego se retorna a la lnea de comandos comand window de MatLab y se ejecuta el programa. A continuacin se muestra, desde la ventana de comandos, el clculo de la superficie y el volumen, realizado para diferentes valores del radio y la altura.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
209
Ejemplo2. Supngase que se desea construir una funcin que no est en el archivo de funciones predeterminadas de MatLab. Considrese la funcin: f ( x) =
x 1 + x2
. En primer lugar se
El programa se guarda en el archivo de trabajo (work), bajo un nombre como ser myfile.m Luego en la ventana de trabajo de MatLab (Comand Window) se llama el archivo guardado mediante las instrucciones:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
210
(1 x 2 ) + (2 x) 2 ,
x = n ,
que representa el
mdulo de la respuesta frecuencial, de la salida respecto a la entrada en un sistema subamortiguado de segundo orden. Los campos de variacin de la frecuencia y del coeficiente de amortiguamiento, son respectivamente: 0 < < , y 0 < < 1 . El objetivo es dibujar la curva de respuesta en funcin de x , empleando como parmetro.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
211
Pg.
212
Ejemplo 4. Obtngase la respuesta al escaln para un sistema de segundo orden, subamortiguado, para valores del coeficiente de amortiguamiento (zeta) entre 0.1 y 0.7. La funcin transferencia que se desea graficar es la siguiente:
G (s) =
1 s 2 + 2 s + 1
Se realiza el programa que se muestra en la figura 123,y se lo guarda con un nombre para emplearlo en el futuro, en nuestro caso se lo guard con el nombre: Ejemplo4_UNLZ.m.
Una vez que el programa est desarrollado y guardado, se selecciona en la ventana Debug Run y se hace clic sobe dicho nombre, con lo cul el programa corre y se obtiene el grfico mostrado en la figura 124.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
213
Fig. 124. Grfico de la respuesta subamortiguada en funcin del coeficiente de amortiguamiento. Ejemplo 5. Variables de estado, polos y ceros. Un sistema se puede representar mediante su funcin transferencia si es SISO o mediante su matriz de transferencia si es MIMO. As, para el sistema definido por:
s2 + 7s + 3 G (s) = 3 s + 9 s 2 + 20 s + 21
En MATLAB se representa mediante: >> n = [1 7 3]; >>d = [1 9 20 21]; La representacin en variables de estado se puede obtener en MATLAB mediante (transfer function to state variable)
tf2ss
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
214
[A,B,C,D] = tf2ss(n,d) Al ejecutar dicha sentencia, se obtiene en la ventana de comandos las matrices de la representacin de estado, como se muestra en la figura 125.
Fig. 125. Obtencin de las matrices de la representacin de estado mediante tf2ss. Si se conoce la representacin de estados y se desea obtener la funcin transferencia, se puede emplear el comando ss2tf (state variable to transfer function). >>[n,d]=ss2tf(A,B,C,D) Supngase que se desea obtener la respuesta del sistema a una entrada escaln, considerando que el coeficiente de la derivada primera toma cuatro valores: alpha = 20,
15, 10 y 5.
El coeficiente de la derivada primera representa la friccin viscosa, de manera que si se disminuye dicho coeficiente el sistema es cada vez ms oscilatorio en su respuesta a una dada seal de entrada, como ser el escaln.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
215
El programa que permite graficar los resultados se designa como: Ejemplo5a_UNLZ.m, y se muestra en la figura 126.
Fig. 126. Programa para resolver y graficar la respuesta del sistema de 3 orden. En el grfico de la figura 127 se muestran los resultados obtenidos para la respuesta al escaln.
Pg.
216
dx dt = Ax + Bu y = Cx + Du
Se utiliza la instruccin lsim, con el formato:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
217
Corriendo el programa precedente se obtienen los grficos que se muestran en la figura 129.
Fig. 129. Grficos de las variables de estado y las salidas en funcin del tiempo
Ejemplo 6.
s2 + 3 G (s) = 2 s + s +1
Esta funcin tiene dos polos ubicados en:
1 3 p1,2 = j 2 2
z1,2 = j 3 .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
218
La magnitud,
G ( j )
para los valores de y y luego obtener las partes real e imaginaria del numerador y denominador de la funcin. Finalmente, la magnitud se grafica con la instruccin mesh. En la figura 130 se muestra el programa que permite realizar lo mencionado.
En la figura 131 se muestra la grfica de la funcin de variable compleja. En la figura 131 se puede ver que en las frecuencias de los polos la magnitud tiende a crecer a valores muy grandes, y que en los ceros esta magnitud vale cero.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
219
Fig. 132. Viga horizontal apoyada en los extremos. El momento flexor M est dado por:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
220
d2y 1 EI 2 = wLx wx 2 2 dt
Donde: E = mdulo de elasticidad de Young = 1000 I = Momento de inercia de la seccin transversal = 100 L=10 Para resolver mediante MATLAB, conviene despejar la derivada de mayor orden, y luego integrar tantas veces hasta obtener y(x). De esta manera se tiene:
d2y 1 1 = w( Lx x 2 ) 2 EI dt 2
Esta derivada segunda, en MATLAB, la podemos declarar como:
d 2 y = w * ( L * x x ^ 2 / 2) /( E * I )
La primera integral la obtenemos con:
dy = int(d 2 y )
La segunda integral se evala con:
y = int(dy )
Posteriormente se calculan las constantes de integracin y se sustituyen los valores de los parmetros y la carga. El programa de MATLAB se ve como se muestra en la figura 133 .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
221
Al correr este programa en la ventana de comandos se obtiene la ecuacin matemtica de la elstica y el valor de la flecha mxima, como se muestra en la figura 134. La grfica de la elstica se muestra en la figura 135.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
222
Pg.
223
Ejemplo 8.
Fig. 136. Sistema mecnico m-b-k, con movimiento armnico en la base. La ecuacin de equilibrio dinmico de fuerzas se expresa como:
fi (t ) = m
i =1
d 2x dt 2
d 2x dx dy m 2 + b + kx b ky = 0 dt dt dt
Como el desplazamiento de la base es
, su derivada es la velocidad de
d 2x dx + b + kx = b Ycos (t ) + k Y sen(t ) dt dt 2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
224
Lo que interesa es, bsicamente, el desplazamiento y la velocidad de la masa m, para lo cul se puede escribir la ecuacin diferencial de segundo orden, como dos ecuaciones diferenciales de primer orden. Una manera es haciendo el cambio de variables:
x1 = x x2 = dx dt = dx1 / dt
Con esta eleccin de variables, las ecuaciones diferenciales se pueden escribir como:
ec_dif.m,
Fig. 137. Programa ec_dif.m b) El archivo-m para resolver el sistema de ecuaciones diferenciales para m =100 Kg. y m = 500 Kg., se muestra en la figura 138.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
225
Fig. 138. Programa para resolver el sistema de ecuaciones diferenciales de primer orden.
Las grficas de salida, se muestran en la figura 139. Aqu se puede ver claramente que el desplazamiento de la masa m se amortigua ms a medida que la masa es mayor, al punto que para m = 500 Kg. el desplazamiento es la tercera parte que para m = 100 Kg.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
226
Ejemplo 9.
El tiro en el vacio es un ejemplo muy comn, y adems muy didctico para la Fsica. El problema consiste en el lanzamiento de un proyectil de masa con un ngulo
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
227
Las preguntas que se hace el lanzador son bsicamente las siguientes: a) Cul es la mxima distancia que recorre el proyectil? b) Cul es la mxima altura que alcanza el proyectil? c) Cul es la trayectoria que sigue el proyectil? Para contestar dichas preguntas, se deben plantear las ecuaciones que definen el movimiento del proyectil. En direccin horizontal no se tiene ninguna fuerza actuando sobre la masa del proyectil. En direccin vertical se tiene la fuerza de la gravedad actuando sobre la masa del proyectil. De esta manera las ecuaciones de Newton para las componentes vertical y horizontal de las fuerzas son:
d 2x m 2 =0 dt d2y m 2 = mg dt
Estas dos ecuaciones ODE de 2 orden, se pueden convertir en cuatro ecuaciones ODE de 1 orden (modelo de estado). Para ello se pueden elegir las siguientes variables de estado:
x1 = x x2 = y x3 = dx dt = dx1 dt x4 = dy dt = dx2 dt
Con esta eleccin de variables de estado, las ecuaciones ODE del sistema, se transforman en:
Pg.
228
La resolucin de estas ecuaciones ODE, se pueden realizar con el programa desarrollado en un m-file, tal como se muestra en la figura 142.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
229
Fig.142. Programa para resolver el sistema ODE Despus de salvar el archivo y correrlo mediante el Debug (save and run) se obtienen las grficas que se muestran en la figura 143. La trayectoria es una parbola. La distancia aumenta linealmente con el tiempo. La altura aumente segn una parbola, y alcanza un mximo, luego del cul comienza a disminuir. De los cursos de Fsica, se sabe que la altura mxima del proyectil est dada por:
hmax
xmax
A medida que aumenta el ngulo ms corta es la distancia horizontal que alcanza el proyectil. Cuanto mayor sea la velocidad inicial, mayor es el alcance horizontal del tiro en el vacio, ya que dicha distancia depende del cuadrado de la velocidad inicial. Cambiando el ngulo y la velocidad inicial se pueden obtener grficos del tiro en funcin de
y v0 .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
230
Ejemplo 10.
La resistencia del aire puede considerarse como una fuerza que se opone al movimiento del proyectil, y en general es proporcional al cuadrado de la velocidad. Dicha fuerza de rozamiento se puede modelar como:
2
F = c v
v v
Esta fuerza tiene dos componentes una vertical (Fy) y otra horizontal (Fx). Teniendo en cuenta dichas componentes de la fuerza de rozamiento, las ecuaciones diferenciales ODE del proyectil son.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
231
d 2x dx m 2 = 0 + Fx = 0 c dt dt
dx dy + dt dt
2
d2y dy m 2 = mg + Fy = mg c dt dt
dx dy + dt dt
Estas ecuaciones diferenciales se pueden escribir como cuatro ecuaciones ODE de primer orden. Esto se obtiene mediante las variables de estado:
d2y c dy dx4 dt = 2 = g m dt dt
El sistema ODE se resuelve con cualquiera de las funciones ode23, ode45, etc. En primer lugar se debe definir la funcin, mediante un programa como se muestra en la figura 144.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
232
El programa para llamar esta funcin y resolver el sistema ODE es el mostrado en la figura 145.
Fig. 145. Programa para resolver las ecuaciones del tiro con rozamiento del aire.
En la figura 146 se muestran los resultados grficos, obtenidos para el tiro parablico con friccin del aire.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
233
Fig. 146. Resultados del tiro parablico con friccin del aire.
En las grficas anteriores se puede observar que tanto la altura como la distancia horizontal han disminuido debido a la resistencia del aire. Asimismo se puede observar que la distancia horizontal no es una funcin lineal del tiempo transcurrido.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
234
Ejemplo 11.
Descenso de un paracaidista.
t =0
v(0) = vin = 0
y la altura es
paracaidista se desplaza en cada libre con una aceleracin g. La velocidad del paracaidista es v (t ) = g t y la distancia recorrida por el paracaidista , al instante t, est dada por la relacin
g t2 y (t ) = h . 2 t = t0
se abre el paracadas. En ese momento las condiciones de velocidad
v(t0 ) = g t0
2 g t0 y (t 0 ) = h 2
Es evidente, sobre la base de las ecuaciones precedentes, que para que el paracaidista no se estrelle contra el piso, debe abrir el paracadas en un tiempo genrico:
t = t0
, tal que
y (t 0 ) > 0
2 g t0 h> 2 2h t0 < g
A partir que el paracadas se abre, la velocidad del paracaidista disminuye debido a la resistencia del aire , que se hace evidente con una fuerza proporcional al cuadrado de la velocidad. De esta manera la ecuacin del movimiento es:
dv = mg + kv 2 dt
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
235
Donde: m = masa del paracaidista k = coeficiente de rozamiento, que depende de la densidad del aire y del rea transversal del Paracadas. La densidad del aire es funcin de la altura y al nivel del mar tiene un valor de 1.29 kg/m^3 Cuando la fuerza de rozamiento equilibra la fuerza de gravedad, el paracaidista alcanza una velocidad lmite (constante) ya que la aceleracin se hace cero. La ecuacin del movimiento se modifica a esta otra: 2
0 = mg + kv
v=
mg k
Para resolver la ecuacin del movimiento del paracaidista, conviene escribirla como:
dv k = g + v2 dt m
La funcin en MATLAB para describir esta ODE, se puede escribir como se muestra en la figura 147.
Fig. 147. Programa de la funcin paracaidista (t, v) El programa o archivo .m que permite resolver el problema, se muestra en la figura 148.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
236
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
237
Un nmero complejo es un par ordenado de nmeros reales de la forma: z = ( a, b) y que admiten una notacin en forma binmica o polar, dadas por las relaciones:
z = a + ib = a + jb = a 2 + b 2 e j ,
tienen los nmeros complejos en Ingeniera. Se los utiliza, por ejemplo en Electrotecnia, Circuitos Elctricos, Anlisis Dinmico de Sistemas, Funciones Transferencia, Anlisis Vectorial y Fasorial, etc. MatLab cuenta con una serie de comandos que permite un buen manejo de estos nmeros. Las funciones bsicas se muestran en la tabla N 33.
Ejemplo. Dados los nmeros complejos: z1 = 4.5 + 2.3i, z2 = 5.6 3.5i , se pide. a) Calcular los mdulos y fase de los dos nmeros complejos. b) El producto z1 z2 y el cociente z1 / z2 . c) El conjugado de z1 y z2 . d) Graficar los nmeros complejos z1 y z2 y sus conjugados.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
238
En la figura 150 se muestran las instrucciones cargadas en la ventana de comandos, para realizar los clculos solicitados.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
239
Fig. 150. Ventana de comandos para realizar los clculos. En la figura 151 se pueden ver las instrucciones para graficar los complejos z1, z2 y sus conjugados, mediante sendos puntos.
Pg.
240
Mediante la utilizacin del comando line(x, y) se puede representar los complejos mediante sus vectores asociados. En la figura 153 se muestran los comandos necesarios, y en la figura 154 la grfica correspondiente.
Fig. 153. Comandos para representar los complejos por sus vectores asociados.
Pg.
241
f : 2 / f ( x, y ) = cos(2 x + 3 y ) g : 2 / g ( x, y ) = e ( x
2
+ y3 )
Veamos como se evalan mediante MatLab. En la figura 155 se muestran los comandos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
242
x = 3sen(2t ) y = 5cos(t ) z = t3
Realizar el grfico 3D.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
243
sen( x 2 + y 2 ) x2 + y 2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
244
Ejemplo. Sea la funcin dada por: f ( x, y ) = cos x.cos y . Se desea graficarla empleando el comando meshc.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
245
Ejemplo. Dada la funcin : q ( x, y ) = 0.7 y 3 / 2 2 x , se desea graficarla utilizando el comando mesh y contour .
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
246
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
247
f ( z ) = u ( x, y ) + iv( x, y )
Es necesario poder ver como se transforma una curva descripta en forma paramtrica, tal como:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
248
Ejemplo. Sea la funcin compleja de variable compleja f : C C / f ( z ) = z 3 + 2 , para la misma se desea conocer las componentes real e imaginaria y determinar en que se transforma la regin dada por:
= {( x, y ) C / x = 4, 6 y 6}
Los comandos para realizar lo pedido, se muestran en la figura 161
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
249
Fig. 162. Grficos correspondientes a la transformacin. En el grfico anterior se pueden ver los puntos en que se transforma la regin dada en el plano xy.
En muchos casos interesa ver la superficie correspondiente al mdulo y argumento de la funcin de variable compleja bajo consideracin. El ejemplo siguiente ilustra sobre el particular.
Ejemplo. Para la funcin de variable compleja dada por: f ( z ) = 0.5 z 3 z 2 + 3 , se desea hallar y ver en un grfico los campos escalares dados por:
( x, y ) = f ( z )
( x, y ) = arg( f ( z ))
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
250
Fig. 163. Comandos para graficar los campos escalares. MATLAB devuelve como salida el grfico mostrado en la figura 164.
Pg.
251
Ejemplo. Se ver una aplicacin a la teora de circuitos. En la figura165, se muestra el circuito equivalente de un resistor en alta frecuencia. Considerando que la frecuencia (pulsacin) vara de 100 rad/seg a 100 M rad/seg se pide: a) Obtener las grficas del mdulo y argumento de la impedancia, as como la parte real (resistencia) y la parte imaginaria (reactancia) en funcin de la pulsacin. b) Obtener el grfico de la reactancia en funcin de la resistencia.
Fig. 165. Circuito equivalente del resistor en alta frecuencia. La impedancia compleja del resistor en funcin de la pulsacin, esta dada por:
Z ( j ) =
R + j L (1 LC 2 ) + jRC
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
252
Fig. 167. Grficas que muestran el comportamiento del resistor en alta frecuencia.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
253
Tabla N 35. Algunos comandos para realizar integracin y diferenciacin de funciones escalares
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
254
Ejemplo. Dada la funcin f ( x) = 2.15 e x cos x3 , realizar la derivada en forma numrica y obtener los grficos de la funcin y su derivada. En la figura 169 se muestran los comandos necesarios.
2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
255
Ejemplo. Sea la funcin : f ( x, y ) = x3 y 2 + 6 xy + 3 x 2 y 3 + 10 , se desea obtener la integral doble de la misma en el recinto [-1,1] x[-1,1]
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
256
Ejemplo. Dada la funcin f ( x) = cos 2 x.cos(2 x) , calcular la integral, y graficar la funcin y la integral en el intervalo [0,10].
Pg.
257
Ejemplo. Dado el campo vectorial: f ( x, y ) = (e2 x cos 2 y , e2 x sen 2 y ) , se desea graficar las lneas de campo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
258
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
259
Tabla N 37. Algunas funciones adicionales para el manejo de grficos. Ejemplo. Se tienen dos funciones : f ( x) = sen(3 x), g ( x) = 15cos(4 x) , y se desea visualizarlas en la misma grfica.
Pg.
260
Ejemplo. Dada la funcin f ( x) = x 2 , realizar una grfica discreta con la funcin stem.
30.
30.1.
Para calcular con MatLab una raz de la ecuacin f ( x) = 0 , es decir, un punto en el cual la funcin f vale 0, se usa la orden: >> fzero('expresion de la funcin', xprox)
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
261
Donde xprox debe ser un valor prximo a la raz buscada. Para elegir xprox se puede, en primer lugar , dibujar la funcin y = f ( x) y buscar, a ojo, un valor prximo. Ejemplo Calcular con MatLab, una raz de la ecuacin:
x + ln( x 3) = 0
Fig. 175. grfico de la funcin del ejemplo. Se ve, a simple vista del grfico de la figura 175, que la raz est cerca de empleamos el comando:
x = 1 , luego
Pg.
262
sen( x / 2) cos( x ) = 0
>> ezplot('sin(x/2).*cos(sqrt(x))',[-pi,3*pi]) >> grid on MatLab devuelve el grfico mostrado en la figura 176.
en [ ,3 ]
Fig. 176. Grfico de la funcin del ejemplo. A simple vista, se observa del grfico de la figura 176 que la funcin tiene tres races: una cerca de x=0, otra cerca de x=2 y otra cerca de x=6. Mediante las instrucciones indicadas en la figura 177, colocadas en la ventana de comandos, se puede calcular fcilmente la funcin en dichos puntos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
263
Fig. 177. Clculo de la funcin en los puntos (races aproximadas) indicados. Es bastante evidente darse cuenta que los puntos en los cuales se calcul la funcin no asegura que all estn las races correctas. Una vez acotada las races, las mismas se podrn calcular mediante diversos mtodos disponibles. Uno de ellos es tomar un intervalo pequeo alrededor de la raz y graficar la funcin de la misma manera. Dejamos a los lectores esta tarea. 30.2. Races de polinomios.
an x n + an 1 x n1 + + a1 x + a0 = 0
Se puede usar la orden roots, que calcula todas las races del polinomio (incluidas las races complejas, si las tiene). Donde p es el vector cuyas componentes son los coeficientes del polinomio, ordenados en orden decreciente de potencias de x:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
264
5 2 1 x + x +1= 0 2 2
30.3.
Para calcular el (punto en el que se produce el) mnimo de una funcin y = f ( x) en un intervalo [a,b], se puede usar la orden: fminbnd (expresion_de_la_funcion,a,b) Ejemplo. Calcular el mnimo de la funcin: f ( x) = 2 x 2 + x 1 en [ 2,2]
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
265
Para calcular el mximo de una funcin y = f ( x) en un intervalo [a,b], hay que calcular el mnimo de la funcin y = f ( x) en el mismo intervalo. Ejemplo. Calcular el mximo de la funcin: f ( x) = 2 x 2 + x 1 en [ 2,2]
f ( x) = x3 x
x [ 1,1]
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
266
Otra manera de determinar mnimos relativos de funciones no lineales f : R Se hace con MatLab mediante la funcin mostrada en la tabla N 38.
Ejemplo. Hallar el mnimo relativo de la funcin: f ( x) = sen(ln( x)) . En la figura 179 se muestra el conjunto de instrucciones para realizar la determinacin del mnimo relativo y obtener la grfica, y en la Figura 180 se muestra la grfica de la funcin.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
267
f ( x ) = sen(
x1 x ) sen( 2 ) 2 2
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
268
Fig. 181. Conjunto de instrucciones para realizar los clculos y obtener las grficas.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
269
31.
31.1
MatLab dispone de varias funciones para resolver numricamente Inicial para las Ecuaciones Diferenciales Ordinarias del tipo:
dy dt = f (t , y ) en [to , t f ] y (to ) = yo
En la tabla N 39 se muestran algunas de las instrucciones disponibles.
Tabla N 39. Algunas instrucciones para resolver numricamente las ODE Para la mayora de los casos ser suficiente con utilizar ode45 o bien ode23. Para casos difciles, ver la documentacin de MatLab (help). La utilizacin de todas estas funciones ode* * es similar. Lo indicado en la tabla N 40 para ode23, es vlido para cualquier otra.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
270
Pg.
271
Otra manera de resolver la ODE es mediante los comandos indicados en la figura 184.
Fig. 184. Conjunto de comandos para graficar la solucin, con un mtodo alternativo, indicado en las tablas precedentes.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
272
Ejemplo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
273
Fig.186. Grfico de la solucin de la ODE Una sentencia que permite calcular la solucin en puntos intermedios del intervalo es:
Ejemplo Calcular la solucin de la ecuacin diferencial indicada, y obtener la misma para 40 puntos del intervalo [1, pi].
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
274
Fig. 187. Grfico de la solucin con los 40 puntos utilizados para la solucin Una sentencia que permite evaluar la solucin para ciertos valores de parmetros es:
Ejemplo. Escribir un programa, en el m-file, que permita resolver el problema siguiente, para distintos valores del parmetro a:
Pg.
275
Luego en la ventana de trabajo se introducen las sentencias que permiten obtener la solucin.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
276
31.2.
Los sistemas de ecuaciones diferenciales se resuelven exactamente igual, teniendo en cuenta que, en este caso, la funcin del segundo miembro y la condicin inicial toman valores vectoriales.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
277
y2 y3 dY / dt = F (t , y ) = 0.7 y1 y3 0.5 y1 y2
0 Y (0) = Y0 = 1 1
Pg.
278
z2 dZ / dt = F (t , Z ) = 1 z2 sen( z1 ) 1 Z (0) = Z 0 = 1
Sobre la pantalla de trabajo se cargan las instrucciones que se muestran a continuacin:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
279
Fig. 191. Grfica de la solucin y su derivada. Otra manera de resolver las ecuaciones diferenciales y sistemas de ecuaciones diferenciales, mediante MatLab, es en la forma simblica. Para ello MatLab cuenta con una serie de comandos, entre los cuales se pueden mencionar los mostrados en la tabla N 41.
Pg.
280
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
281
Pg.
282
32.
SIMULINK
Simulink sirve para modelar, simular y analizar sistemas, los cuales pueden se lineales o no lineales, de tiempo continuo o de datos muestreados o combinacin de ambos. Los sistemas discretos con los que puede trabajar SIMULINK, pueden ser de distinta frecuencia de muestreo. Los sistemas que se simulan en SIMULIK reciben el nombre de modelos. Para modelar sistemas, SIMUINK tiene una interfase grfica que permite construir modelos en la forma de diagramas en bloques. Para este propsito, SIMULINK, incluye una muy completa biblioteca de componentes lineales, no lineales, fuentes(sources) , elementos de salida(links) y conectores. Adicionalmente el usuario puede crear sus propios componentes Despus de que se define un modelo para un sistema, este se simula utilizando SIMULINK. Las limitaciones para los modelos de SIMULINK la determina la cantidad de Toolboxes que se hayan comprado.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
283
ii.
Elaboracin de un conjunto razonable de suposiciones o hiptesis acerca del sistema que se est intentando describir. Estas suposiciones tambin incluirn algunas leyes empricas que podran ser aplicables al sistema.
Para algunos propsitos podra ser perfectamente vlido conformarse con modelos de baja resolucin. Por ejemplo en los cursos de fsica bsica muchas veces se ignora la resistencia del aire cuando se estudia el movimiento de un cuerpo cerca de la superficie terrestre. Pero si se trata de un cientfico, cuyo trabajo es predecir con precisin la trayectoria de vuelo de un proyectil de largo alcance, se tiene que tomar en cuenta la resistencia del aire y otros factores como ser la curvatura de la tierra. Las suposiciones que se hacen con respecto a un sistema con frecuencia tienen que ver con una rapidez de cambio de una o ms de las variables. As la representacin matemtica de todas estas suposiciones podra ser una ecuacin o un sistema de ecuaciones con derivadas. En otras palabras, el modelo matemtico puede ser una
A los fines de recordar haremos una breve sntesis sobre ecuaciones diferenciales. a.- Ecuacin diferencial. Se dice que una ecuacin que contiene derivadas de una o ms variables dependientes, con respecto a una o ms variables independientes, es una ecuacin diferencial (ED).
dy + 7 y = 2e x ; dx
d2y dy + 3 + 8 y = 0; dx dx 2
dx dy + = 3x + y dt dt
Una ecuacin con derivadas de una o ms variables dependientes respecto de dos o ms variables independientes se llama ecuacin diferencial parcial (EDP).
Ejemplos: Ecuaciones diferenciales parciales (EDP).
2u 2 u + = 0; x 2 y 2
a2.- Clasificacin segn el orden.
2u 2u u = 2 3 ; 2 t x t
u v = y x
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
284
El orden de una ecuacin diferencial (ya sea EDO o EDP) es el orden de la derivada mayor en la ecuacin. Ejemplos: En la figura 194 se muestran algunos casos de orden para una ODE
a3.-
a3.1.- Ecuacin diferencial ordinaria(EDO) de orden n Una ecuacin diferencial ordinaria (EDO) de orden n, se expresa en la forma:
F x, y, dy dx, d 2 y dx 2 ,
Donde F es una funcin de valores reales de
, d n y dx n = 0
x, y, y, y, y, , y ( n)
n+2
variables:
Se dice que una ecuacin diferencial ordinaria de orden n (como la anteriormente indicada) es lineal si F es lineal en se cumple que:
dny d n1 y an ( x) n + an1 ( x) n1 + dx dx
+ a1 ( x)
dy + ao ( x) y = g ( x) dx
Casos especiales importantes en ingeniera y ciencias son: las EDO lineales de primer y segundo orden:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
285
dny d n1 y an n + an1 n1 + dx dx
a3.2.- EDO no lineal
d2y dy a2 2 + a1 + ao y = g ( x) dx dx
Una EDO se dice que es no lineal, cuando sus coeficientes(o parmetros) son funciones de la variable dependiente, o son funciones no lineales de la variable dependiente. En la figura 195 se muestran algunos ejemplos de ODE no lineales.
Fig. 195. Ejemplos de ODE no lineales. La ecuaciones indicadas en la figura 195, son ecuaciones diferenciales no lineales de primer orden, de segundo orden y de tercer orden respectivamente.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
286
b.-
Cualquier funcin,
n derivadas continuas en I,
que al substituirse en una EDO de n-simo orden, reduce la ecuacin a una identidad, se considera solucin de la ecuacin en el intervalo I. En forma sinttica:
y( x) )
satisface a la EDO
b.1.-
Curva solucin.
( x) o
y ( x)
( x) o
definicin
y ( x) ,
y la grfica de la no
. Esto puede interpretarse de la siguiente manera: el dominio de la funcin necesita ser el mismo que el intervalo I, de definicin (o dominio) de la solucin
c.Sistema de ecuaciones diferenciales. Sistemas Dinmicos.
Con mucha frecuencia en la teora y en muchas aplicaciones prcticas se debe tratar con sistemas de ecuaciones diferenciales. Un sistema de ecuaciones EDO, consta de dos o ms ecuaciones con las derivadas de dos o ms funciones desconocidas de una sola variable independiente. As, por ejemplo:
dx = f (t , x, y ) dt dy = g (t , x , y ) dt
El sistema EDO anterior, es un sistema de dos ecuaciones diferenciales ordinarias de primer orden. Si en nmero de variables
x es
n y el nmero de variables
es p, el sistema de
ecuaciones EDO de primer orden se puede escribir en forma vectorial, como sigue:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
287
dx = f (t , x, y ) dt dy = g (t , x, y ) dt
Donde:
x1 (t ) x (t ) x= 2 , xn (t )
y1 (t ) y (t ) 2 y= y p (t )
Las ecuaciones precedentes juegan un papel muy importante en el estudio de los sistemas dinmicos. Un sistema que cambia o evoluciona con el paso del tiempo recibe el nombre de
sistema dinmico
El estudio de los sistemas dinmicos es una rama de la Matemtica muy relacionada con la Ingeniera, de manera que representa un papel fundamental en la formacin de los ingenieros.
Un sistema dinmico consiste en un conjunto de variables dependientes del tiempo, llamadas variables de estado, junto con una regla que permite determinar sin
ambigedad el estado del sistema (pudiendo ser un estado pasado, presente o futuro) en trminos de un estado prescrito en algn tiempo t0 . Los sistemas dinmicos se clasifican en relacin con el tiempo, en: Sistemas discretos
Sistemas continuos En los sistemas dinmicos discretos(o de datos muestreados) el tiempo toma valores en instantes definidos de tiempo, t1 , t 2 , , tk
estn definidas en esos instantes de tiempo. La regla, o modelo matemtico, en un sistema dinmico discreto es una ecuacin de diferencias o un sistema de ecuaciones de diferencias. En los sistemas dinmicos continuos en el tiempo, las variables de estado se definen en un intervalo de tiempo continuo. La regla, o modelo matemtico, en un sistema dinmico continuo es una ecuacin diferencial o un sistema de ecuaciones diferenciales.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
288
momento; el estado especificado del sistema en el tiempo t0 es simplemente el valor de las condiciones iniciales que acompaan al modelo matemtico. La solucin del problema de valores iniciales se denomina respuesta del sistema. Con esta breve introduccin a las ED (EDO y EDP) nos abocaremos al tema de SIMULINK
Fig. 196. SIMULINK Library Browser En la figura precedente se puede ver que aparece el Manejador de la biblioteca de SIMULINK (SIMULINK Library Browser), donde se muestran las bibliotecas de bloques. Para observar los elementos o bloques que cada biblioteca tiene slo se debe colocar el cursor sobre la biblioteca y se observa los componentes que contiene en la parte derecha de la ventana. As, por ejemplo, si se abre la biblioteca de Continuous, se obtiene la pantalla que se muestra en 197.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
289
Fig. 197. Ejemplo de la Biblioteca de Elementos Continuos. Un Ejemplos de otra librera se muestra en la figura 198.
Pg.
290
Como se puede observar la ventana precedente no tiene ttulo, ya que est etiquetada como untitled. Si se va a realizar la simulacin de un problema de inters, es muy conveniente colocarle un ttulo. Para colocar un ttulo se ingresa al men File y se selecciona Save as (Guardar como), con lo cul se abre una pantalla como la que se muestra a continuacin, en la misma se debe definir dnde se desea guardar el archivo, para ello se selecciona el lugar en la ventana Guardar en , pero antes de guardar conviene colocarle un ttulo al modelo en la ventana Nombre , en la figura que se muestra a continuacin el ttulo asignado es Modelo_1 y se guardar en el archivo Work . Una vez guardado el archivo se puede abrir el mismo entrando en el men File y haciendo Clic en Open. En la figura 200 se muestra la ventana que permite guardar el Modelo_1 en el espacio Work.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
291
Ejemplo Supngase que se desea simular el modelo matemtico de un sistema dinmico real dado por la EDO que se indica a continuacin:
d 2 y (t ) dy (t ) + + 2 y (t ) = u (t ) 2 dt dt
Para:
iniciales
Para realizar la simulacin conviene, en primer lugar, despejar la derivada de mayor orden, que para el ejemplo es:
d 2 y (t ) dy (t ) = 2 y (t ) = u (t ) 2 dt dt
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
292
Suponiendo conocida la derivada de mayor orden, se integra dos veces hasta obtener la solucin y (t ) , como se muestra en la figura 201
Fig. 201. Obtencin de la solucin a partir de la derivada segunda. La integracin se realiza con el bloque integrador, que permite introducir la entrada y la condicin inicial. Para completar la EDO, se debe obtener la derivada segunda en funcin de la derivada primera, la solucin y la variable exterior (entrada), como establece la ltima ecuacin. En forma de bloques, lo dicho es como se muestra en la figura 202.
Pg.
293
Para armar el modelo en SIMULINK, abrimos la pantalla de trabajo que hemos designado Modelo_1, y sobre la misma realizaremos el armado del modelo. Para ello se necesitan los siguientes bloques: Integrator (integrador): se encuentra en la biblioteca Continuous Sum (Sumador): se encuentra en la biblioteca Math operations Gain (Ganancia): se encuentra en la biblioteca Math operations Step (Fuente de seal escaln): se encuentra en la biblioteca Sources Scope (osciloscopio) [uno de los tantos elementos de visualizacin disponible en SIMULINK]. se encuentra en la biblioteca Sinks Mux (multiplexor) que permite ver en un mismo grfico varias seales al mismo tiempo. Se encuentra en la biblioteca Signal & Systems
Todos los elementos mencionados precedentemente se copian, arrastrndolos con el Mouse a la pantalla de trabajo denominada Modelo_1 (guardado con la extensin .mdl de model), como se muestra en la pantalla de la figura 203.
Fig. 203. Pantalla del Modelo_1, donde se muestran los bloques a utilizar. Los parntesis angulares (>) junto a cada bloque indican si una seal entra o sale del bloque. As, si el smbolo > apunta hacia fuera del bloque est indicando un puerto de salida. Si el smbolo > apunta hacia adentro del bloque, entonces es un puesto de entrada. En el bloque Step (escaln) la seal sale, mientras que en el bloque Scope la seal entra.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
294
En los bloques: Integrator, Mux, Gain y Sum hay seales que entran y salen. Para conectar los bloques entre s, se coloca el cursor en el puerto de salida del Step y manteniendo el botn izquierdo del mouse presionado, se mueve el cursor hasta el puerto de entrada superior del Sum. As se puede ver que se forma una lnea punteada y que el puerto de entrada del Sum cambia a +. Al soltar el botn los dos puertos quedan conectados. Se puede hacer una ramificacin de una conexin a un puerto de entrada. Se coloca el cursor sobre la conexin y con el botn derecho del mouse presionando se conecta hasta el puerto de entrada deseado (con una sola mano) como se muestra en la figura anterior. Tambin se puede realizar apretando Ctrl del teclado, y con el cursor colocado sobre la conexin se conecta hasta el puerto de entrada (esto requiere las dos manos). Haciendo doble Clic sobre un punto cualquiera de la pantalla de trabajo, se abre una ventana que permite escribir textos. Una vez escrito el texto, se puede llevar al lugar deseado, haciendo nuevamente clic con el botn derecho del mouse sobre el texto escrito y arrastrando hasta el lugar deseado. Realizando esto con todos los bloques, se obtiene la pantalla que se muestra en la figura 204.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
295
Antes de realizar la simulacin del modelo(o corrida del mismo) se deben colocar los parmetros en los bloques Gains, la amplitud del escaln, Step, de entrada, y las condiciones iniciales de los integradores. Ingresando en el men Simulation se escogen los Simulation Parameters en la ventana que se indica en la figura 205. Aqu seleccionamos el tiempo final de simulacin Stop time de 12 seg., y se presiona Ok para aceptar el valor. Para comenzar la simulacin se pueden usar dos caminos: ingresar al men Simulation y presionar el botn Start, alternativamente se puede utilizar el icono (Start simulation) en la barra de herramientas.
Fig. 205. Pantalla de Simulation Parameters, donde se establecen los parmetros de simulacin
Para ver la salida en Scope, se abre el bloque Scope con el botn derecho y se selecciona Open Block como se muestra en la figura 206.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
296
Fig. 206. Apertura del Scope con el botn derecho del mouse, Open Block. La figura 207 muestra el resultado obtenido para = 1 y con el escaln unitario aplicado en t =1 seg. En la grfica obtenida se pueden ver la funcin y sus derivadas como as tambin el escaln unitario de entrada.
Pg.
297
Fig. 208. Respuesta del sistema para = En la figura 209, se muestra la respuesta del sistema para =4
Pg.
298
Conclusin: Para el modelo del ejemplo se puede observar que a medida que aumenta el coeficiente (coeficiente de la derivada primera) la respuesta
y (t )
y el sistema es cada vez ms lento. Esto se corresponde con lo que le sucede a los sistemas fsicos caracterizados por el modelo del ejemplo, como podran ser: sistemas mecnicos M-B-K, sistemas electrnicos R-L-C y otros similares. En lo que sigue, se analizarn con cierto detalle algunos bloques de simulacin muy comunes, con el objeto de que los lectores puedan hacer lo mismo con otros bloques de SIMULINK. 32.4. Elemento
Scope (Osciloscopio)
Si observamos las tres figuras anteriores se nota que en la ventana de Scope aparece una barra de herramientas que permite realizar distintas funciones sobre la grfica que tenemos a la vista. La funcin de estos iconos se muestra, con su nombre, en la figura 210 , y se invita al lector a utilizarlos en alguna de las grficas anteriores.
Pg.
299
Sirve para imprimir la grfica que Scope presenta en ese momento. marcadores a las curvas, indicar si es Scope flotante. Adems da la opcin de enviar los resultados a la ventana de trabajo de MATLAB, para su uso en otro programa , y de limitar el nmero de puntos de los datos a graficar.
Parmetros Abre una ventana para indicar el nmero de ejes, el rango de tiempo, poner
Cuando se selecciona la ventana parmetros, Scope devuelve la pantalla Scope Parameters como se muestra en la figura 211.
Fig. 211. Ventana de Parmetros del Osciloscopio. En caso de seleccionarse varios ejes (o seales de entrada), por ejemplo 4 (cuatro), se obtiene el scope como muestra la figura 212.
Pg.
300
Haciendo clic sobre el Scope, se despliegan cuatro ventanas donde se ubicarn los cuatro (4) grficos, como se muestra en la figura 213.
Autoescalar Fija automticamente los ejes dentro de los rangos de la seal graficada. Seleccin de seal Permite seleccionar cualquiera de las seales disponibles en el Modelo.
32.5
El bloque integrator permite realizar la integral continua en el tiempo de la seal de entada. Haciendo doble clic sobre el icono del integrador se despliega una ventana como la mostrada por la figura 214.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
301
External reset
none: ninguno rising: El integrador se pone a cero (resetea )en el flanco Ascendente del pulso. El smbolo del integrador muestra la entrada de seal que realiza la puesta a cero en el flanco ascendente
falling: El integrador se pone a cero (resetea )en el flanco Descendente del pulso. El smbolo del integrador muestra la entrada de seal que realiza la puesta a cero en el flanco descendente.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
302
either: El integrador se pone a cero (resetea ) con ambos de flancos del pulso de entrada. El smbolo del integrador muestra la entrada de seal que realiza la puesta a cero.
level: El integrador se pone a cero con un nivel de la seal de reset. El smbolo del integrador se muestra como:
Inicial condition
internal: La condicin inicial se establece internamente, y el smbolo del bloque se muestra como:
External: La condicin inicial se establece externamente, y el smbolo del bloque integrador cambia al siguiente:
Limit Output
Permite establecer el lmite superior de saturacin. Permite establecer el lmite superior de saturacin.
Colocando un tilde, en la ventana correspondiente, se puede ver el puerto de saturacin, y el bloque se muestra como:
Colocando un tilde, en la ventana correspondiente, se puede ver el puerto de estado, y el bloque se muestra como:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
303
32.6.
Elemento Step
El elemento Step es una de las seales de entrada (variable independiente) muy utilizada para excitar sistemas reales. Este elemento se obtiene Haciendo Clic en sourcesstep y se arrastra a una ventana de trabajo, all haciendo doble Clic sobre el logo step se obtiene la ventana Block Parameters: Step, que se muestra a continuacin. En el Block se tienen las siguientes ventanas:
Step time:
Inicial value: En esta ventana se determina el valor inicial del escaln. Final value: En esta ventana se determina el valor final del escaln. Sample time: Es el tiempo en el cul se toma la muestra de la seal escaln. Si el Sample
time es menor que el Step time toma como instante de cambio del escaln el Step time. Por el contrario si el Sample time es mayos que el Step time, toma como valor del cambio escaln el Sample time. En la figura 215, se muestra la ventana de parmetros del Block Step.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
304
32.7
function. Al realizar un doble clic sobre el bloque, MATLAB devuelve la pantalla designada Block Parameters: Transfer fcn que se muestra a continuacin.
Parameters Numerator [ ] Entre corchetes se colocan los coeficientes del numerador de la Funcin Transferencia, como polinomio, comenzando con la potencia mayor. Si algn coeficiente falta se coloca cero. Parameters Denominator [ ] Entre corchetes se colocan los coeficientes del numerador de la Funcin Transferencia, como polinomio, comenzando con la potencia mayor. Si algn coeficiente falta se coloca cero.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
305
En el Bloque: Transfer fcn, de la figura 217, se muestra como se cargan los coeficientes del numerador y denominador.
Pg.
306
Una vez cargados los coeficientes, se acepan mediante el botn de OK , y MATLAB devuelve el bloque correspondiente, que se muestra a continuacin.
Nota: Para los sistemas fsicos reales, el grado del denominador es siempre mayor o igual al grado del numerador, es decir:
nm
Ejemplo. Obtener la respuesta a un escaln unitario de entrada, aplicado en t = 0, para un sistema mecnico M-B-K (Masa friccin viscosa - constante elstica) cuyo modelo matemtico est dado por : 2
f (t ) = M
d x (t ) dx (t ) +B + kx(t ) , 2 dt dt
M = 10, B = 5, K = 20,
Donde
f (t ) = escaln de 1N
f (t ) : x (t ) :
Transformando la ecuacin diferencial precedente con todas las condiciones iniciales nulas, se obtiene:
F ( s ) = Ms 2 + Bs + k X ( s )
La Funcin Transferencia, por definicin es, la relacin de la transformada de Laplace de la salida sobre la transformada de Laplace de la entrada, para condiciones iniciales nulas, es decir:
G (s) =
X ( s) 1 1 = = 2 2 F ( s ) Ms + Bs + k 10 s + 5s + 20
En la ventana de trabajo de SIMULINK designada UNLZ_1, indicada en la figura 218, se muestra el diagrama en bloques (Diagrama de simulacin dinmica) del sistema correspondiente al ejemplo. Como se puede observar se agreg un bloque display, que
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
307 del
(t ) ,
(t).
Fig. 218. Diagrama en bloques del sistema UNLZ_1 Fijando los valores del generador Step segn los datos, y realizando una corrida del modelo, se obtiene en el elemento de salida Scope, la respuesta del sistema, es decir el desplazamiento x (t) de la masa M. En el grfico de la figura 219,se muestra la respuesta obtenida.
Pg.
308
Como se puede observar se obtiene una respuesta (desplazamiento de la masa M) de tipo subamortiguada. El valor en rgimen estacionario, (t
) ,
del desplazamiento
1 1 = = 0.05 10 s 2 + 5s + 20 20
Como se puede observar, el valor calculado con el teorema del valor final de la transformada de Laplace, coincide totalmente con el indicado por el bloque display.
Comentario Importante:
El mtodo de simulacin desarrollado en el ejemplo precedente, presenta por lo menos dos inconvenientes importantes: 1. No admite el anlisis del sistema sin excitacin exterior, y sometido a condiciones iniciales no nulas (sistema autnomo). 2. No se tiene acceso a las variables internas del sistema, en este caso la velocidad y aceleracin de la masa M. Para solucionar la desventaja del mtodo anterior (Funcin Transferencia / FT) se puede expresar la ecuacin diferencial (modelo del sistema fsico M-B-k), despejando la derivada de mayor orden (es decir la aceleracin), de la siguiente manera:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
309
diagrama en bloques, que representa un nuevo modelo del sistema, que llamaremos UNLZ_2. En la figura 220 se muestra el diagrama en bloques, correspondiente al sistema M-B-K.
Como se puede observar en el diagrama precedente, el modelo del sistema muestra las variables internas (aceleracin y velocidad) adems del desplazamiento x(t), que en este caso coincide con la salida del sistema .
En la figura 221, se muestra la respuesta del sistema, obtenida con el modelo precedente.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
310
Fig. 221. Respuesta del sistema M-B-K a una entrada escaln unitario.
Esta nueva representacin del mismo sistema M-B-k, permite ver las ventajas de la misma: Se pueden ver todas las variables
Se pueden ver las salidas del sistema. Por supuesto se pueden ver las entradas al sistema. Se puede analizar el sistema, frente a condiciones iniciales en el desplazamiento y la velocidad.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
311
Fig. 222. Respuesta del sistema M-B-K frente a condiciones iniciales. El hecho de expresar el modelo matemtico del sistema M-B-K, en funcin de las variables internas del mismo, conduce a la posibilidad de escribir el modelo matemtico del sistema mecnico de segundo orden de otra manera. Si tomamos como variables internas del sistema, las salidas de los integradores (que caracterizan a los acumuladores de energa del sistema) se obtienen:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
312
La ecuacin diferencial de segundo orden se puede escribir ecuaciones de primer orden, de la siguiente manera:
dx1 dt = x2 dx2 dt = B K 1 x2 x1 + u M M M
y = x1 + 0. x2
En el caso del ejemplo los vectores de salida y entrada son escalares, ya que el sistema fsico analizado es SISO (Single Input-Single Output), y en forma sinttica se representa como se muestra en la figura 223:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
313
Fig. 223. Representacin en bloques de un sistema SISO. En el caso ms general de un sistema lineal MIMO (Multiple Input-Multiple se tendr un sistema como se muestra en el esquema de la figura 224:
Output),
Fig. 224. Representacin en bloques de un sistema MIMO. Para el sistema MIMO, el sistema de ecuaciones diferenciales de primer orden, se escribe en notacin vectorial de la siguiente manera:
dx = Ax + Bu dt y = Cx + Du
Donde:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
314
y1 y 2 Vector de salida y= yp
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
315
A : Matriz del sistema (n n) B : Matriz de entrada ( n m) C : Matriz de salida D : Matriz de Transferencia directa ( p m)
Con los valores de los parmetros para el sistema M-B-K del ejemplo, se obtienen las matrices A, B, C y D.
( p n)
32.8
Bloque State-Space
Ahora que tenemos el modelo de estado del sistema, estamos en condiciones de utilizar el bloque State-Space de SIMULINK. Este bloque permite cargar las matrices A, B, C, y D del sistema. Haciendo doble clic sobre el bloque State-Space, MATLAB presenta la ventana denominada Block Parameters: State-Space que se muestra a continuacin: En la figura 225 se muestra la pantalla de parmetros del bloque State- Space.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
316
En cada ventana de los parmetros se cargan las matrices del sistema bajo consideracin. Una vez realizada la carga de parmetros se da OK. A continuacin se realiza la simulacin del modelo y se registra la salida del sistema, en nuestro caso el desplazamiento de la masa M, es decir y (t ) = x(t ) En la pantalla de trabajo designada UNLZ_3, figura 226, se muestra el diagrama en bloques para efectuar la simulacin.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
317
Fig. 226. Diagrama en bloques de Sistema basado en State-Space Realizando la simulacin se obtiene el grfico, mostrado en la figura 227 donde se indica la salida en funcin del tiempo.
Fig. 227. Respuesta del sistema basado en el bloque State-Space. Si se desea ver en un mismo grfico las dos variables de estado, es decir
Space, solo se debe cambiar la matriz de salida para considerar esta situacin, es decir se
debe hacer lo siguiente:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
x1 (t ) = desplazamiento
x2 (t ) = velocidad
, empleando el bloque
State
Pg.
318
y1 1 0 x1 0 y = 0 1 x + 0 u 2 2
Introduciendo las nuevas matrices C y D en el bloque State- Space se obtiene el grfico de la velocidad y desplazamiento de la masa M en la misma pantalla, como se muestra en la figura 228.
Una conexin entre Simulink y MATLAB muy importante es la que permite exportar al workspace un grfico obtenido en la pantalla del Scope (Osciloscopio) a un grfico en MATLAB donde el mismo puede ser manejado con el comando plot, como se ha visto oportunamente. Para ello se emplea el bloque To Workspace mostrado precedentemente, que se debe conectar a la salida del sistema, si lo que se desea es llevar los datos del vector de salida y graficarlo en MATLAB con el comando plot. Una vez conectado el bloque To Workspace en el punto deseado del diagrama de simulacin se deben seleccionar los parmetros adecuados de dicho bloque, para ello se hace doble Clic sobre el bloque y se obtiene la pantalla que se muestra a continuacin. Sobre la misma se da un nombre a la variable: variable name y , y se guarda el formato Save Format Array, como muestra en la figura 229. Una vez realizada esta asignacin de parmetros se realiza la simulacin del modelo.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
319
Fig. 229. Parmetros del Bloque: To Workspace. El diagrama en bloques, donde se coloca el Bloque To Workspace, designado como se muestra en la pantalla de la figura 230.
y,
Pg.
320
Realizada la simulacin, se va al Command Window (espacio de trabajo de MATLAB) y se colocan las sentencias que se muestran a continuacin:
Una vez terminadas las sentencias precedentes se obtiene el grfico que se muestra en la figura 231.
Pg.
321
32.10 Subsistemas
Cuando un modelo aumenta de tamao y complejidad, es muy til simplificarlo mediante la agrupacin de varios bloques en un subsistema. Con el uso de subsistemas se puede reducir el nmero de bloques desplegados en el modelo, adems de tener la posibilidad de establecer una jerarqua en el diagrama en bloques, donde el bloque subsistema est en un nivel y los bloques que forman el subsistema estn en otro nivel. Entre las ventajas que ofrece la creacin de subsistemas se pueden mencionar las siguientes: i. ii. iii. iv. Ayuda a reducir el nmero de bloques que se despliega en la ventana de trabajo. Permite mantener agrupados bloques que estn relacionados. Permite establecer un diagrama jerrquico donde los bloques de subsistemas estn en un nivel y los bloques que forman cada subsistema estn en otro nivel. Permite mantener oculto parte del sistema del cul no se desea mostrar demasiados detalles.
Los subsistemas se pueden crear de dos maneras A un sistema ya creado se le aade el bloque Subsystem (subsistema) ;abriendo dicho bloque se le agregan todos los bloques que deseamos estn dentro del subsistema. Agregar a la ventana de trabajo los bloques que deseamos que contengan el subsistema y agruparlos en un subsistema.
Ejemplo Creacin de un subsistema Creacin A. Para desarrollar el concepto de creacin de subsistemas se utilizar el modelo empleado oportunamente con el ttulo UNLZ_2, que para mejor comprensin transcribimos en la figura 232. En la pantalla se muestra con un rectngulo de lneas punteadas todos los bloques que se quieren colocar dentro del subsistema.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
322
Fig. 232. Modelo UNLZ_2 a ser colocado en un subsistema. Para crear el subsistema se seleccionan, con el botn izquierdo del ratn, todos los bloques que deseamos colocar dentro del bloque subsystem, y del men Edit se selecciona Create Subsystem. Al hacer esto SIMULINK reemplaza los elementos seleccionados por un bloque de subsistema como se muestra en la ventana de la figura 233.
Pg.
323
Si se abre el bloque subsystem (haciendo doble Clic sobre el mismo), SIMULINK muestra los bloques del subsistema como se muestra en la pantalla de la figura 234.
Fig. 234. Retorno al sistema original partiendo de Subsystem. Ntese en la pantalla de la figura 234, que SIMULINK aade puertos de entrada y salida Inport y Outport, para presentar las entradas y salidas del subsistema. Creacin B Otra manera de crear un subsistema es empleando el bloque Subsystem. Este bloque se encuentra en la biblioteca de Subsystems. Para comenzar se abre una ventana de modelo nueva, y se arrastra a esa ventana el bloque Subsystem, como se muestra en la figura 235.
Pg.
324
Se realiza doble clic sobre el bloque Subsystem y se obtiene la ventana mostrada en la figura 236, donde se puede ver que solo existen puertos de entrada y salida unidos entre s.
Este bloque se modifica, agregando algunos bloques adicionales que los conectamos como se muestra en la pantalla de la figura 237.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
325
Se regresa a la ventana donde se cre el bloque Subsystem (que era Untitled) y la salvamos con el nombre UNLZ_4. Le conectamos un generador Step, un Scope y un display, como se muestra en la figura 238.
Fig. 238. Creacin del Subsystem en la pantalla UNLZ_4. La respuesta del sistema, a una entrada escaln, se muestra en la figura 239, donde se indica la pantalla del Scope.
Pg.
326
Fig. 240. Esquema del proceso trmico. El proceso trmico dispone de un calefactor elctrico, que suministra un flujo calorfico (en watts) al lquido (se considera agua), igual a la potencia transformada en calor por efecto Joule en la resistencia. El elemento uniformizador de temperatura aporta un flujo calorfico proporcional al cuadrado de la velocidad angular del removedor. Parte de ese flujo calorfico se transmite al medio ambiente por la resistencia trmica de las paredes del recinto y est dado por la Ley de Fourier. En este proceso se considera muy pequea la capacitancia trmica del recinto (masa de las paredes) frente a la capacitancia trmica del lquido. El flujo calorfico neto resultante se emplea en cambiar la temperatura del lquido. De esta manera el balance de potencias (flujo calorfico) ser:
(t ) a (t ) e2 (t ) d + B2 = Cth R Rth dt
Esta ecuacin diferencial que vincula la temperatura del fluido con las otras variables del proceso es alineal. As planteado el problema, y conociendo los parmetros fsicos del sistema
a) Emplear hiptesis de trabajo que permiten linealizar el modelo y simplificarlo. b) Resolver la ecuacin diferencial no-lineal.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
327
a) Hiptesis de trabajo compatibles con el comportamiento esperado del sistema. 1. Si la mayor constante de tiempo, del sistema trmico, es menor que el semiperiodo (12 hs.) de la variable temperatura ambiente, podr considerarse que la temperatura ambiente es constante, y la misma se podr tomar como referencia de temperaturas. 2. Si la variable tensin
e(t )
( eo ) ,
se podr linealizar el
trmino que proporciona el flujo calorfico a travs del calefactor. 3. Si la variable velocidad angular del uniformizador de temperatura (t ) est limitada en amplitud a valores pequeos (pequea seal) alrededor de un punto de operacin estable
(o ) ,
calorfico por friccin viscosa. 4. Si las variables independientes del problema correspondiente al punto de operacin
( e(t ), (t ), a (t ) )
estable en
rgimen
( eo , o , a
a = Cte. ,
de manera que la ecuacin de equilibrio trmico (balance de potencias) , obtenida al principio se reduce a :
2 eo 2 + B o o a = 0 Balance trmico en el punto de operacin R Rth
De la ecuacin precedente se puede obtener la temperatura del fluido en estado estable, cuando las variables independientes del sistema adoptan los valores del punto de operacin. As se obtiene:
Para resolver un problema real, se consideran los siguientes valores de los parmetros y las variables independientes en estado estacionario:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
328
B = 0.005
Nm rad seg W
a = 20 C
Cth = 70 J
Rth = 2 C
Sobre la base de dichos valores se determina la temperatura del fluido en rgimen estacionario:
2 e0 1002 a 20 2 0 = Rth + B0 + + 0.005 (31.42)2 + = 49.88 C = 2 1000 R Rth 2
El balance de potencias trmicas da, que en estado estacionario la temperatura del lquido (agua) es
El sistema de acondicionamiento, en rgimen estacionario (t ), se encuentra en la situacin mencionada anteriormente. A partir de all se lo excitar con cambios en la tensin
e(t), y en la velocidad angular (t) del uniformizador de temperatura. Esto dar lugar a
cambios en el tiempo de la temperatura del lquido (t), como se muestra en la figura 241.
Fig. 241. Explicitacin de las entradas y salidas del sistema trmico. Para determinar dicho cambio en la temperatura del lquido, tenemos bsicamente dos soluciones: a) Aplicar pequeos cambios (comparados con los valores de estacionario) en las variables de entrada y linealizar el modelo para tener una EDO Lineal, con la cual determinar los cambios en la temperatura del lquido b) Aplicar cambios en las variables de entrada y resolver la EDO no-lineal para determinar los cambios en la temperatura de salida. Aplicaremos los dos procedimientos para determinar los cambios en la temperatura del lquido y compararemos los resultados obtenidos con los dos mtodos.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
329
a)
En la EDO obtenida por balance de potencias trmicas, se encuentran elevadas al cuadrado las variables independientes, es decir la tensin e (t) aplicada al calefactor, y la velocidad angular
(t) del uniformizador de temperatura, por esta razn el modelo es una EDO No-
Lineal. Para linealizar el modelo se considerar una aproximacin lineal de ambas potencias en el entorno del punto de operacin. Dicha relacin lineal se obtiene desarrollando en serie de Taylor los trminos no lineales, en el entorno del punto de operacin. As se tiene:
qcal = qocal
dqcal 1 d 2qcal + (e e0 ) + (e e0 ) 2 + 2 e 2 ! de
qrem = qorem
dqrem 1 d 2 qrem ( 0 ) + ( 0 ) 2 + + 2 d 2 ! d
Designando los apartamientos de la tensin aplicada al calefactor y de la velocidad angular del removedor como as tambin los de la potencia calorfica, con la notacin:
e = e e0 : Desviacin de e respecto de e0
= 0 : Desviacin de respecto de 0
qcal = qcal q0cal qrem = qrem q0rem
Si se considera que los apartamientos de la tensin y la velocidad angular son pequeas (Esto se conoce como pequea seal) en comparacin con los valores de estacionario, se pueden despreciar las potencias dos y superiores del desarrollo de Taylor, con lo cul se obtiene:
dqcal e de dq = rem d
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
330
Teniendo en cuenta la aproximacin anterior, la ecuacin diferencial (ODE) del proceso trmico se puede escribir como:
t s = 4 th ,
son prcticamente
despreciables). De esta manera la temperatura ambiente puede considerarse como referencia en la medicin de temperatura del lquido, con lo cul la ecuacin precedente se puede escribir como:
2e0 2 100 = = 0.2 R 1000 2 B0 = 2 0.005 31.42 = 0.3142 1 1 = = 0.5 Rth 2 Cth = 70
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
331
d dt
Para simular el modelo mediante SIMULINK, conviene despejar la derivada de mayor orden como se indica a continuacin:
Fig. 242. Diagrama en bloques del proceso trmico linealizado. Condiciones de simulacin:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
332
Se agregan los elementos de salida para registrar las entradas y salidas en funcin del tiempo, como as tambin un bloque To workspace para obtener el grfico en MATLAB. De esta manera los resultados obtenidos se muestran en el grfico de la figura 243.
Fig. 243. Respuesta temporal del proceso linealizado. Comentarios sobre los resultados de la simulacin del proceso lineal izado: i. La constante de tiempo del proceso trmico segn ODE lineal es th ii. El tiempo de establecimiento del proceso es t s del valor final).
= 140 seg
= 4 th = 560 seg
(banda de 2%
iii.
Un cambio del 10% de la tensin sobre el calefactor, produce un cambio de aproximadamente 4 C en la temperatura del lquido (Aprox. 13.4 % del valor de estacionario, 29.87C).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
333
iv.
Un cambio del 10% de la velocidad angular del uniformizador de temperatura rotativo, produce un cambio de 1.97 C en la temperatura del lquido (Aprox. 6.6 % del valor de estacionario, 29.87C). El valor final de la sobre elevacin de temperatura alcanzada por el lquido es de 5.974 C, debido al aporte de 10 % en el aumento de tensin y 10 % en el aumento de velocidad del removedor. Mtodo del modelo no-lineal.
v.
a)
En este caso se considera que el modelo del sistema es la EDO no-lineal dada por:
(t ) a (t ) e 2 (t ) d + B2 = Cth R Rth dt
Considerando que la temperatura ambiente
de establecimiento de la dinmica del proceso trmico ( t s = 4 th = 560 seg ), es razonable considerar que la temperatura ambiente se puede tomar como referencia para la medicin de temperatura. Esta prudente consideracin permite escribir la EDO de la manera siguiente:
d ( a ) (t ) a (t ) e 2 (t ) + B2 = + Cth R Rth dt
Llamando a
* = a : sobreelevacin de temperatura
La EDO del modelo se convierte en:
e2 * d * 2 + B = + Cth R Rth dt
Reemplazando los valores de los parmetros se obtiene:
Pg.
334
Despejando de la ODE anterior la derivada de mayor orden e integrando las veces que sea necesario hasta obtener la sobre elevacin de temperatura del lquido, se obtiene:
Pg.
335
En la figura 245 se muestra la respuesta del proceso trmico no lineal, para los mismos cambios en los valores de las seales con las cuales se realiz la simulacin del modelo lineal, es decir que las condiciones de simulacin han sido:
0 = escaln de 31.42 rad / seg , aplicado en t = 0 = escaln de 3.142 rad / seg (10% 0 ), aplicado en t = 1600 seg
Comentarios acerca de la simulacin para el proceso no lineal i. ii. iii. La constante de tiempo del proceso trmico segn ODE No lineal es th El tiempo de establecimiento del proceso No-Lineal es
= 140 seg
ts = 4 th = 560 seg
(banda de 2% del valor final). Un cambio del 10% de la tensin sobre el calefactor (10V), produce un cambio de aproximadamente 4.19 C en la temperatura del lquido (Aprox. 14 % del valor de estacionario 29.87 C). Un cambio del 10% de la velocidad angular del uniformizador de temperatura rotativo, produce un cambio de 2.08 C en la temperatura del lquido (Aprox. 7 % del valor de estacionario, 29.87 C). El valor final de la sobre elevacin de temperatura alcanzada por el lquido es de 6.27 C por sobre el valor del punto de operacin, debido al aporte de 10 % en el aumento de tensin y 10 % en el aumento de velocidad del removedor.
iv.
v.
Conclusin: Para un incremento del 10% en la tensin del calefactor y un incremento del 10 % en la velocidad del removedor, la diferencia de la temperatura final predicha por ambos modelos es de 0.3 C. En estas condiciones se puede decir, dentro de la precisin de la ingeniera, que ambos modelos predicen el mismo resultado.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
336
En la figura 246, se muestra la respuesta temporal ampliada, del proceso, frente a cambios del 10% en la tensin y la velocidad angular.
Fig. 246. Respuesta temporal ampliada, para el modelo no lineal, frente a cambios del 10% en las seales de entrada.
CAMBIOS DEL 20 % Veamos que sucede si los incrementos de tensin y velocidad son mayores que el 10%. Supngase, que son del 20%. Es decir:
e = 20 V
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
337
Fig. 248. Temperatura en funcin del tiempo, para cambios del 20% en las entradas..
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
338
Sobre el resultado de la simulacin para cambios del 20% en la tensin y velocidad del proceso, podemos mencionar lo siguiente: SISTEMA LINEALIZADO i. Un cambio del 20% en la tensin de calefactor , produce un cambio de 8 C en la temperatura del lquido (26.8% de la temperatura correspondiente al punto de operacin. 29.87 C) Un cambio del 20 % en la velocidad del removedor produce un cambio de 4 C en la temperatura del lquido (13.4 % de la temperatura del punto de operacin, 29.87 C). La sobre elevacin total de temperatura para un 20 % de cambio en la tensin y velocidad es de 12 C.
ii. iii.
SISTEMA NO LINEAL iv. Un cambio del 20% en la tensin de calefactor , produce un cambio de 8.8 C en la temperatura del lquido (29.5% de la temperatura correspondiente al punto de operacin. 29.87 C) Un cambio del 20 % en la velocidad del removedor produce un cambio de 4.4 C en la temperatura del lquido (14.7 % de la temperatura del punto de operacin, 29.87 C). La sobre elevacin total de temperatura para un 20 % de cambio en la tensin y velocidad es de 13.14 C.
v.
vi.
Conclusin.
La Linealizacin de un modelo No- Lineal da resultados muy aproximados a la realidad cundo los cambios en las variables involucradas son pequeos con relacin a los correspondientes al punto de operacin. En el ejemplo se ha visto que para cambios del 10 % en las variables de entrada, los resultados de ambos modelos prcticamente son coincidentes. Cuando los cambios aumentan, en el ejemplo se ha tomado un 20 %, los resultados del sistema linealizado comienzan a apartarse respecto al modelo ODE No-Lineal ms exacto. La aproximacin lineal cambia con el cambio del punto de operacin (Queda para los interesados analizar esta situacin) En todos los casos es el Ingeniero el que debe decidir la validez de una aproximacin lineal (ODE Lineal), con relacin a un modelo ms exacto No-Lineal (ODE No-Lineal).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
339
Fig. 249. Esquema simplificado de la suspensin de un automvil. Un modelo que permite analizar dinmicamente el sistema de suspensin, es el que se muestra en la figura 250.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
340
Fig. 250. modelo del sistema de suspensin. Los parmetros (muy parecidos a los reales) de la suspensin, tienen los siguientes valores:
c) Se aplica una fuerza que hace bajar 6 cm. la carrocera del automvil, y luego se quita instantneamente la fuerza. Realizar la simulacin y graficar los desplazamientos y velocidades de
mc y mw .
comportamiento real de un automvil y decidir si el modelo se comporta adecuadamente. d) Se levanta el vehculo 50 cm. con una gra, y luego se lo deja caer. Realizar la simulacin y obtener los desplazamientos y velocidades. Comparar los resultados con los que muestra la experiencia en la realidad. e) Viajando a una velocidad de 50 Km/hr el automvil cae en un pozo de 20 cm. de profundidad (tipo escaln negativo), y a los 150 metros termina el pozo, retornndose al nivel inicial (escaln positivo).Realizar la simulacin y obtener los desplazamientos y velocidades. f) Para el vehculo circulando a 100 km/hr por una calle asfaltada, que tiene una junta de 2 cm de altura y 2 cm de ancho cada 6 m, realizar la simulacin y graficar las velocidades y desplazamientos.
g) Circulando a por un camino a una velocidad de 8 km/hr con lomos de burro (pianito) de 15 cm pico a pico cada 1.5 m (suponer sinusoide), realizar la simulacin y graficar las velocidades y desplazamientos. h) dem anterior pero con el vehculo a 3.2 km/hr
Solucin
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
341
a) Ecuaciones diferenciales del sistema. Las ecuaciones de equilibrio de fuerzas para el sistema mecnico de la suspensin, son:
dz g d 2 zc dz dz mc 2 + ( bs + bt ) c + ( k s + kt ) zc bs ks z g bt w kt zw = 0 dt dt dt dt 2 d z dz dz mw 2w + bt w + kt zw bt c kt zc = 0 dt dt dt
Dividiendo la primera ecuacin por
mc
y la segunda por
mw
dz g d 2 zc dz dz + 1.39 c + 695.4 zc 1.29 77.3 z g 0.097 w 618.1 zw = 0 2 dt dt dt dt d 2 zw dz dz + 0.56 w + 3544.3 zw 0.56 c 3544.3 zc = 0 dt dt dt 2
b) Simulacin del modelo Integrando las ecuaciones diferenciales precedentes se obtienen las ODE siguientes:
dzc dt = 1.39 zc 695.4 zc dt + 1.29 z g + 77.3 z g dt + 0.097 zw + 618.1 zwdt dzw = 0.56 zw 3544.3 zwdt + 0.56 zc + 3544.3 zc dt dt
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
342
En la figura 251 se muestra el diagrama de simulacin (basado en las ODE precedentes) para el modelo del sistema de suspensin, correspondiente a la cuarta parte del automvil.
Fig. 251. Diagrama de simulacin para la suspensin del automvil. c) Se baja la carrocera 6 cm y luego se la libera. Esta situacin del sistema corresponde a una condicin inicial de
zc (0) = 0.06 m .
Colocando la condicin inicial en el integrador1, se realiza la simulacin y se obtienen los grficos de la figura 252., correspondientes a los desplazamientos de las masas.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
343
Fig. 252. Desplazamientos de las masas cuando se baja la carrocera 6 cm y luego se libera. Los desplazamientos son oscilatorios. El de la carrocera comienza en 6 cm y el del neumtico en 0. Ambos despus de una serie de oscilaciones terminan en cero (0 m). Esto ocurre aproximadamente a los 6 segundos. Se puede observar que sobre la oscilacin de baja frecuencia en el desplazamiento zc (t) se superpone una oscilacin de mayor frecuencia y menor amplitud, que corresponde al acoplamiento de la rueda sobre la carrocera. Las velocidades se muestran en la figura 253. Como se puede ver la velocidad mxima de la carrocera es de aproximadamente 0.8 m/seg. Y la velocidad mxima de la Masa de la rueda es de 3.2 m/seg. Las dos velocidades se extinguen en aproximadamente 8 seg.
Fig. 253. Velocidades de las masas cuando se baja la carrocera 6 cm y luego se libera.
d) Se levanta el vehculo 50 cm y se lo deja caer desde esa altura. Esta condicin se obtiene colocando como condicin inicial 0.50 m en lo integradores que dan los desplazamientos Zc y Zw. En la figura 254 se muestran los grficos obtenidos para los desplazamientos, cuando se levanta el vehculo 50 cm y se lo deja caer desde esa altura.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
344
Fig. 254. Desplazamientos de las masas cuando se deja caer el vehculo desde 0.5 m Los desplazamientos se extinguen en forma senoidal subamortiguada, con una frecuencia de aproximadamente 7.9 rad/seg. En aproximadamente 7 segundos se extinguen las oscilaciones. Con respecto a las velocidades se obtienen los grficos mostrados en la figura 255.
Fig. 255. Velocidades de las masas cuando se deja caer el vehculo desde 0.5 m
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
345
e) Pozo de 20 cm de profundidad, 150 m de longitud, viajando a 50 km/hr. En este caso se excitar al sistema con un escaln negativo de 20 cm en ti con un escaln positivo de 20 cm en t f = 150 m /(50 km / hr ) = 10.8 seg .
= 0,
y luego
Estos dos escalones se aplican con sendos generadores desplazados en 10.8 segundos. En las figuras 256 y 257, se muestran los desplazamientos y velocidades obtenidas.
Fig. 256. Desplazamientos de las masas, para Pozo de 20 cm de profundidad, 150 m de longitud, viajando a 50 km/hr.
Fig. 257. Velocidades de las masas, para Pozo de 20 cm de profundidad, 150 m de longitud, viajando a 50 km/hr.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
346
f)
El sistema se excita con un tren de pulsos de 2 cm de amplitud, ancho del pulso 0.72 mseg y con un periodo de 0.216 seg. Este tren de pulsos se puede obtener con un pulse generador. En la figuras 258 y 259 se muestran los registros para los desplazamientos y velocidades.
Fig. 258. Desplazamientos de las masas, para juntas de 2x2 cm cada 6 m con el vehculo a 100 km/hr.
Fig. 259. Velocidades de las masas, para juntas de 2x2 cm cada 6 m con el vehculo a 100 km/hr.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
347
g) Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 8 km/hr Se considera que la excitacin es un senoide de amplitud 7.5 cm y un periodo T = 1.5 m (8 km / hr ) = 0.675 seg ; dicho periodo da una frecuencia de 9.3 rad/seg. En las figuras 260 y 261, se muestran los grficos de desplazamientos y velocidades obtenidos.
Fig. 260. Desplazamientos de las masas para, Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 8 km/hr
Fig. 261. Velocidades de las masas para, Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 8 km/hr
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
348
h) Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 3.2 km/hr Se considera que la excitacin es un senoide de amplitud 7.5 cm y un periodo T = 1.5 m (3.2 km / hr ) = 1.69 seg ; dicho periodo da una frecuencia de 3.7 rad/seg. En las figuras 262 y 263 se muestran los grficos de desplazamientos y velocidades obtenidos.
Fig. 262. Desplazamientos de las masas para, Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 3.2 km/hr
Fig. 263. Velocidades de las masas para, Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 3.2 km/hr
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
349
s 2 + 1.39 s + 695.4 Z c ( s ) ( 0.097 s + 618.1) Z w ( s ) = (1.29 s + 77.3) Z g ( s) ( 0.56s + 3544.3) Z c ( s ) + s 2 + 0.56 s + 3544.3 Z w ( s ) = 0
El sistema de ecuaciones EDO se ha transformado en un sistema de ecuaciones algebraicas en la variable compleja s = + j . Dicho sistema se puede resolver, con respecto a los desplazamientos Zc(s) y Zw(s) por algn mtodo conocido, como ser:
(1.29 s + 77.3) ( s 2 + 0.56 s + 3544.3) Z g (s ) Z c (s) = 2 ( s + 1.39 s + 695.4)( s 2 + 0.56 s + 3544.3) ( 0.097 s + 618.1)( 0.56s + 3544.3)
Z c (s) = 1.29 s 3 + 60.48 s 2 + 3577.85 s + 2.12403 105
) )
(s
Z g ( s)
Z w (s) =
(1.29 s + 77.3)( 0.56s + 3544.3) Z g ( s) ( s 2 + 1.39 s + 695.4)( s 2 + 0.56 s + 3544.3) ( 0.097 s + 618.1)( 0.56s + 3544.3)
0.722 s 2 + 6392.58 s + 3.795 105
Z w (s) =
) )
(s
Z g (s)
Expresando los polinomios como cociente de los ceros y polos transferencia, se obtiene:
de cada funcin
Z w (s) =
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
350
Z c ( s) =
En la figura 264, se muestra el diagrama en bloques del sistema sobre la base de la funcin transferencia.
Fig. 264. Diagrama en bloques basado en la Funcin Transferencia. e) Pozo de 20 cm de profundidad, 150 m de longitud, viajando a 50 km/hr. Los grficos para los desplazamientos son los indicados en la figura 265.
Pg.
351
g) Camino con lomos cada 1,5 m, amplitud 7.5 cm y velocidad del automvil de 8 km/hr Se considera que la excitacin es un senoide de amplitud 7.5 cm y un periodo T = 1.5 m (8 km / hr ) = 0.675 seg ; dicho periodo da una frecuencia de 9.3 rad/seg. En la figura 266, se muestran los grficos de desplazamientos obtenidos.
Conclusin:
Los resultados de la simulacin, a travs de los dos mtodos da el mismo resultado. Una desventaja del mtodo de la matriz de transferencia es que no permite ver algunas variables internas, como por ejemplo la velocidad.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
352
Fig. 267. Esquema y diagrama electromecnico del servomotor de CC. Se considerar un servomotor (a imn permanente) para uso general en control, con los siguientes valores de los parmetros y tensiones.
La = 19.4 mH
Ra = 5.3
kT = 0.452 Nm / A
Bm = 0.004 Nmseg
ea = 90V
En el servomotor se pueden plantear dos ecuaciones diferenciales ordinarias (ODE), una elctrica para la armadura (Ley de Kirchoff) y otra mecnica (Ley de Newton):
di ea La a Ra ia kbm = 0 dt k i J d m B T = 0 m m m L Ta dt
Donde
TL
TL = 0
, se considera que el
u1 = ea u2 = TL
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
353
y = m
Dos variables internas (variables de estado):
x1 = m x2 = ia
Sobre la base de lo indicado precedentemente, el sistema se puede representar por el diagrama mostrado en la figura 268.
Fig.268. Esquema de bloques para el Servomotor de CC. Las ecuaciones diferenciales del servomotor se pueden escribir de la siguiente manera.
dx1 / dt Bm J m kT J m x1 0 + dx / dt = k L 2 b a Ra La x2 1 La x u y = [1 0] 1 + [0 0] 1 x2 u 2
1 J m u1 0 u 2
Esta representacin del sistema LTI se llama Representacin de Estado, cuyo modelo general es:
dx dt = Ax + Bu y = Cx + Du
Con el conocimiento de los parmetros, la representacin de estado se convierte en las matrices que se muestran a continuacin:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
354
Fig. 269. Diagrama en bloques del Servomotor de CC, basado en el modelo de estado. Con el diagrama de simulacin mostrado precedentemente, se pueden realizar numerosas simulaciones del servomotor de CC, entre ellas a) Simulacin en vacio con la tensin nominal de armadura
ea = 90 V
t = 0 seg
Como resultado de la misma se obtienen los siguientes valores de la velocidad angular y la corriente de armadura en estado estacionario.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
355
Fig. 270. Corriente y velocidad en vacio del Servomotor de CC En los grficos precedentes se puede observar que la corriente en vacio aumenta hasta 13 A en un tiempo de aproximadamente 0.015 seg. y luego desciende hasta el valor de rgimen estacionario 1.595 A La velocidad angular del motor aumenta y llega a rgimen estacionario de vacio (180.4 rad/seg) en un tiempo aproximado de 0.09 seg = 90 mseg. b) Simulacin con una carga (torque), en forma de escaln , TL en
= 0.5 N .m , aplicado
Con esta simulacin se est realizando una aproximacin al caso real, en el cul el motor se ve sometido a una cupla de carga (perturbadora). Se ver la dinmica de la corriente y la velocidad del motor en funcin de la tensin de armadura y cupla TL. Realizada la simulacin, se obtienen los siguientes valores en rgimen estacionario
Pg.
356
Como se puede observar en los valores anteriores, la corriente del motor, en estacionario, aumenta con relacin a la situacin de vacio. Por otra parte la velocidad angular del motor disminuye con relacin a la situacin de vacio. Los grficos dinmicos de tensin de armadura, cupla de carga, corriente de armadura y velocidad angular del motor, se muestran en la figura 271.
Fig. 271. Variables del motor con efecto de la cupla de carga. Si se pretenden ms detalles en las curvas de respuesta temporal se pueden obtener las seales individualmente, adecuando las escalas, como se muestra en la figura 272.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
357
Fig. 272. Variables del motor ampliadas para ver mejor los detalles.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
358
ndice
1.1. 1.2. 2. 3. 4. 5. 6. 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.8.1. 6.8.2 6.9. 6.9.1. 6.9.2. 6.10. 6.10.1 6.10.2 6.10.3 6.11. 6.12. 6.13. 7. 8. 9. 10. 11. 12. 13. 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 13.13 13.14 13.15 Prefacio Programa MATLAB Requisitos mnimos e Instalacin Componentes de MATLAB SIMULINK La versin de MATLAB Tipos de archivos con los cuales trabaja MATLAB Sintaxis general Constantes Operaciones aritmticas elementales Variables Formatos Variables predefinidas Cadenas Guardado de una sesin y sus variables Instrucciones de entrada y salida Salida formateada Entrada de datos en MATLAB Ayudas en MATLAB (help) El comando lookfor El comando which Variables y funciones Variables Funciones Variables simblicas y funcin funtool Funciones matemticas elementales Algunos comandos utilitarios y de ayuda Elementos sobre ficheros Reloj y fecha Ruta de bsqueda Diario Formato para exhibicin de nmeros Caracteres especiales y operadores Operaciones bsicas Escalares, vectores y matrices Definicin de vectores Operaciones con vectores y escalares Operaciones con vectores Funciones especficas de vectores Norma de un vector Producto escalar y vectorial Funciones de matrices y vectores Sistemas de ecuaciones Factorizacin LU (Lower-Upper) Vectores propios y formas de Jordan Definicin de matrices Operaciones con matrices Funciones especficas con matrices Matrices sparse (huecas) Polinomios pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. 1/2 3/ 9 9/10 12 12/13 13 13/14 14 14 14/15 15/16 17/18 18/19 19/23 23/29 30 30/32 32/33 33/35 36 36/37 37 37/38 38 38/44 44/45 45 45/46 46/47 47 47 48 48/49 49/51 52 52/54 55 56/57 57/58 58/59 59/61 61/63 63/65 65/67 67/69 79 70/72 72/75 75/77 77/79
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
359
13.16 Otros comandos para operar con matrices 13.17 Algunas matrices especiales 13.18 Sistemas lineales 13.19 Consideraciones adicionales sobre escalares y vectores 13.20 Funciones adicionales sobre polinomios 13.21 Ajuste de curvas 13.21.1 Ajuste mediante polinomios 13.21.2 Ajuste mediante splines cbicos 13.21.3 Interfase para ajuste de curvas 13.22 Otras funciones disponibles en MATLAB 13.22.1 Instrucciones eval y feval 13.22.2 Comando pause 13.22.3 Comandos wavread y sound 14. Funciones escalares 15. Operaciones de clculo comunes 15.1 Lmites 15.2 Lmites de sucesiones 15.3 Continuidad 15.4 Derivacin 15.5 Integracin 15.6 Series 15.7 Ecuaciones diferenciales (DE) 16. Grficas 16.1 Representacin grfica de funciones definidas por una frmula 16.2 Curvas planas 16.3 Curvas en el espacio 16.4 Superficies 17 La ventana grfica de MATLAB 17.1 Algunos comandos grficos auxiliares 18 Resumen de los comandos bsicos de dibujo 2D y 3D 19 Otros tipos de grficas 19.1 Grfica de barras 19.2 Grfica de escalera 19.3 Grfica de histograma 19.4 Grfica de puntos 19.5 Grfica de brjula o circular (Compass) 19.6 Grfica de torta (pie) 20. Programacin en MATLAB 20.1 Instrucciones bsicas de programacin 20.1.a Instruccin if-end 20.1.b Instruccin if-else-end 20.1.c Instruccin elseif 20.1.d Instruccin switch-case 20.1.e Instruccin for 20.1.f Instruccin while 20.2 Funciones (function) 20.3 Manejo de archivos 20.3.1 Abrir y cerrar archivos 20.3.2 Escritura de informacin en un archivo 20.3.3 Escritura y lectura de datos con formato 21. Intercambio de datos entre MATLAB y EXCEL 22. Lectura en MATLAB de datos creados en EXCEL Ejemplos de programacin con MATLAB. Aplicaciones a la Ingeniera
pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg.
80/87 87 88/89 89/91 91/93 94 94/97 97/98 98/102 102 102/103 103/104 104 105/106 107 107/109 109 109/113 113/116 116/118 118 119/126 127 127 127/130 130/131 131/136 137 137/142 143/164 165 165 166 167 168 169 170 171/176 176 176/178 179/180 180/182 182/184 184/189 189/190 190/193 193 193/196 197/198 198/201 202/206 206/208 209/236
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
360
23. 24. 25. 26. 27. 27.1 28 29. 30. 30.1 30.2 30.3 31 31.1 31.2 32. 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 32.10
Nmeros complejos Funciones reales de varias variables (campos escalares) Grficas tridimensionales (3D) Funciones Complejas y de variable compleja Diferenciacin e Integracin numrica Derivacin e integracin de funciones escalares Campos vectoriales. Conceptos bsicos Funciones adicionales para el manejo de grficos Races de ecuaciones y mnimos de funciones Races de ecuaciones Races de polinomios Mnimos y mximos de funciones Resolucin numrica de ecuaciones diferenciales Ecuacin diferencial nica Sistemas de ecuaciones diferenciales SIMULINK Ecuaciones diferenciales como Modelos Matemticos Inicio de SIMULINK Creacin y corrida de un modelo con SIMULINK Elemento Scope (Osciloscopio) Elemento Integrator (Integrador) Elemento step (Escaln) Elemento Transfer Function Elemento State-Space Elemento To Workspace. Conexin entre SIMULINK y MATLAB Subsistemas Aplicaciones de SIMULINK a la Ingeniera I. Proceso Trmico de acondicionamiento de temperatura de un fluido II. Sistema de suspensin de un vehculo III. Servomotor de Corriente Continua
ndice Bibliografa
pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg. pg.
236/240 241 241/247 247/253 253 253/256 257/258 258/260 260 260/263 263/264 264/268 269 269/275 275/281 282 282/288 288/290 290/298 298/300 300/303 303/304 304/315 315/318 318/320 321/325 326 326/339 339/351 352/357 358/360 361
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.
Pg.
361
Bibliografa
1. 2. 3. 4. 5. 6. 7.
Katsuhiko Ogata, Problemas de Ingeniera de Control Utilizando MATLAB. Prentice Hall, 1999. ISBN-84-8322-046-6. MathWorks, Inc., The Student Edition of MATLAB . Englewood Cliffs, N.J. , Prentice Hall , 1999. Math Works, Inc. MATLAB Users Guide Natick, Mass. Math Works Inc., 2000. Alejandro Hayes, Bases de MatLab, 1 Edicin, 2006. Rosa Echevarra Lbano - Dpto. Ecuaciones Diferenciales y Anlisis Numrico. Universidad de Sevilla. 2005. MATLAB Programming .Working with M-Files. The Math Works, Inc. 2007. Javier Garca de Jaln de la Fuente, Rufino Goi Laceras, Patxi Funes Martnez, Aprenda MATLAB. Escuela Superior de Ingenieros Industriales. Universidad de Navarra. 1997. Amadeo M. Mariani. Aplicaciones de MATLAB a la Ingeniera de Control. Editorial CEIT UTN/FRBA Ao 2005. Amadeo M. Mariani . SIMULINK, Aplicaciones a la Ingeniera de Control.Editorial CEIT. UTN/FRBA Ao 2005.
8. 9.
10. Amadeo M. Mariani. Representaciones Cannicas de Modelos en el Espacio de Estados. Aplicaciones a la Ingeniera de Control. Editorial CEIT. UTN/FRBA. 2007. 11. M. W. Zemansky. Heat and Themodynamics .Mc Graw Hill, Book Co. 1968. 12. A. Soriano y J. Vlez,Evaluacin de las propiedades fsicas de los alimentos usando un Programa de computadora, Informacin Tecnolgica, Vol. 14 pp. 23-28, Chile 2003. 13. L. Blank y A. Taskin. Ingeniera Econmica, Mc Graw Hill Interamericana, Mx. 2004.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.