Está en la página 1de 361

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

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.

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

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. Amadeo M. Mariani

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

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

Pg.

1. 1.1

Introduccin Programa MatLab

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

En este ambiente los problemas y sus soluciones se pueden expresar en notacin matemtica fcil de entender. Algunos de los usos ms comunes de MATLAB son: Clculos matemticos. Desarrollo de algoritmos Modelado y simulacin Anlisis de datos Obtencin de grficas Desarrollo de interfases grficas

El lenguaje de programacin de MATLAB es ms poderoso que lenguajes tales como FORTRAN, C, Basic, Visual Basic o Pascal, entre otros. Junto con MATLAB se han Desarrollado una coleccin de herramientas (Toolboxes) que programadas en lenguaje de MATLAB pueden realizar un conjunto de actividades en ciertas reas de la ingeniera, las ciencias, las finanzas y la economa, entre otras muchas. Algunas de estas herramientas (Toolboxes) se han desarrollado para resolver problemas vinculados con: Anlisis y diseo de Sistemas de Control.

Control System Toolbox Proporciona un entorno interactivo y grfico para el modelado, anlisis y diseo de sistemas de control, utilizando tanto los mtodos clsicos como los modernos: root locus, loop shaping, pole placement, LQR/LQG regulation. Soporta sistemas LTI, SISO, MIMO y diversos mtodos de conversin. Fuzzy logic Toolbox Es una herramienta interactiva para el desarrollo de algoritmos de lgica difusa, aplicable a reconocimiento e identificacin de imgenes con patrones difusos, procesamiento de seales y desarrollo de procesos inteligentes y adaptivos. Robust Control Toolbox Herramientas para el modelado y diseo de sistemas de control multivariables mediante tcnicas de H , donde la robustez del sistema es un factor crtico.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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.

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

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.

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

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.

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

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.

Adquisicin de datos(Data Acquisition)

Data Acquisition Toolbox Permite el control y la comunicacin con una gran variedad de dispositivos de adquisicin de datos estndares en la industria (National Instruments, Agilent, Computer Boards, etc.). Incluye kit de adaptacin para el desarrollo de interfaces para nuevos dispositivos. Instrument Control Toolbox. Permite la comunicacin con instrumentos (analizadores de espectro, osciloscopios, generadores de funciones) y dispositivos externos. Soporta protocolos de comunicacin GPIB (IEEE-488, HPIB) y VISA( Serial, GPIB, VXI, GPIB-VXI) y proporciona soporte avanzado de puerto serie(RS-232, RS-422, RS-485) Curve Fitting Toolbox. Mediante una interfaz grfica se puede realizar ajustes de curvas, visualizando y preprocesando los datos y usando una amplia gama de modelos y mtodos de ajuste.

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

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

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.

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

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.

Requisitos mnimos e Instalacin

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

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

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

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.

Comenzando con MATLAB

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

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

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

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.

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

Pg.

12

>> EDU>>

En la versin Profesional En la versin estudiantil

2.

Componentes de MATLAB.

Bsicamente son cinco. I. Lenguaje MatLab. Es un lenguaje de alto nivel para tratamiento de matrices y vectores, con sentencias de control de flujo, funciones y estructuras de datos, entradas y salidas y programacin orientada a objetos. Permite crear pequeos programas como as tambin programas extensos y complejos. II. Entorno de Trabajo MatLab. Es el conjunto de herramientas con las que se puede trabajar como un usuario o programador. Para ello cuenta con las facilidades como para manejar variables en el espacio de trabajo, importar y exportar datos. Tambin posee herramientas de programacin, desarrollo y manipulacin de archivos (M-Files). III. Manipulador de grficos. Es el sistema de graficacin de MatLab. Incluye una serie de comandos de alto nivel para la visualizacin de imgenes en 2D y 3D, animaciones y presentaciones. IV. Librera de Funciones Matemticas. Es una amplia coleccin que contiene las funciones elementales como Sen, Cos, Sec, etc., hasta las transformadas de Laplace, Transformada Rpida de Fourier (FFT) y otras. V. Interfase de aplicacin de programas de MatLab. Es una librera que permite escribir programas en C y Fortran, que interactan con MatLab. Incluye la posibilidad de llamar rutinas desde MatLab y para leer y escribir MAT-Files.

3.

SIMULINK.

Simulink es un programa de MatLab que consiste en un sistema interactivo para modelar, simular y analizar sistemas, los cuales pueden ser: lineales, no-lineales, de tiempo continuo o de datos muestreados o combinacin de ambos. Los sistemas que se simulan en SIMULINK reciben el nombre de modelos. Para modelar sistemas SIMULINK tiene una interfase grfica que sirve para construir modelos como diagramas de bloques. Para este propsito SIMULINK incluye una muy completa biblioteca de componentes lineales y no lineales, fuentes y, elementos de salida y conectores. Adems el usuario puede crear sus propios componentes. Despus de que se define un modelo para un sistema, este se puede simular usando mens en SIMULINK. Las limitantes para los modelos de SIMULINK es la cantidad de Toolboxes que se hayan comprado (actualmente hay alrededor de 170 toolboxes).
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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.

Tipos de archivos con los cuales trabaja MatLab.


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

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

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

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

6.2. Operaciones Aritmticas elementales.


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

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

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

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.

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

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.

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

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:

Tabla N1. Comando format

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

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

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:

6.5. Variables Predefinidas.


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

Tabla N 2. Algunos nombres predefinidos

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

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

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.

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

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.

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

Pg.

21

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

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

Tabla N 3. Algunas funciones para las cadenas.

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

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

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.

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

Pg.

23

6.7. Guardado de una sesin y sus variables.


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

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

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

Pg.

24

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

sesion.txt, como se muestra en la figura 2, siguiente.

Si se observan los archivos del directorio, se ve que hay un nuevo archivo llamado

Fig.2. Archivo Sesion.txt


Al abrirlo vemos que se grabaron en l todas las instrucciones junto con las respuestas que dio MATLAB, que se escribieron a partir de diary (sesion.txt) hasta que se escribi diary (off), como se muestra en la figura 3, mostrada a continuacin
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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

Save Workspace As Control + S

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

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.

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

Pg.

27

Fig.5. Contenido del archivo Work.

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

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

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

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.

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

Pg.

29

Fig. 7. Creacin del archivo sesion.m

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

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

Pg.

30

6.8. Instrucciones de entrada y salida.


Hasta ahora hemos usado MATLAB como una calculadora sencilla, donde el resultado se obtiene inmediatamente. En ocasiones, esto no es muy conveniente, especialmente si los resultados intermedios de un clculo que requiere muchos pasos no nos interesan. Afortunadamente podemos evitar el desplegado de los resultados intermedios si usamos punto y coma al final de una instruccin de MATLAB. Ejemplo

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

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

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

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

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

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.

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

Esto nos da la salida con un rengln entre un texto y el otro. Alternativamente se puede declarar una cadena y escribir dentro del fprintf el nombre de la cadena. Ejemplo

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

Tabla N 4. Algunos formatos para escribir variables

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

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

Pg.

32

Ejemplo Sea la variable x = 256789451.3456789876543, para escribirla podemos usar

6.8.2 Entrada de datos en MATLAB. La forma ms sencilla de dar datos a MATLAB es con la instruccin input que tiene el formato x = input (Dame el valor de x) Con este formato MATLAB despliega un mensaje para que inmediatamente se pueda escribir el valor de x. De esta manera se puede escribir

Ntese que input no genera salto de lnea. Esto solo se genera con \n, el cual puede ir en cualquier lado. Si en lugar de darle un valor numrico le damos un nombre con letras o un carcter como & @ , o algn otro, se obtiene:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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:

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

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

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

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

Pg.

34

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

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

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.

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

Pg.

36

6.9.1 El comando lookfor


Este comando seguido de una palabra sirve para encontrar todas las funciones que en su descripcin de la ayuda contenga esa palabra. El formato es: lookfor palabra As, por ejemplo, si se desea encontrar las funciones que en su descripcin contengan la palabra hyperbolic, se hace con lookfor hyperbolic

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

6.9.2 El comando which


Este comando sirva para localizar el directorio donde se encuentran archivos-m. El formato es:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

Pg.

37

which nombre_del_archivo_o_funcin Por ejemplo para localizar la funcin poly se escribe:

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

6.10. Variables y funciones.


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

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

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

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

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

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.

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

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.

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

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

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

Ejemplo

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

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

Pg.

40

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

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

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

Tabla N 5. Algunas funciones simples

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

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

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.

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

Pg.

42

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

Ejemplo As, para las funciones:

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.

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

Pg.

43

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

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

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

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

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.

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

Pg.

45

6.12. Algunos Comandos Utilitarios y de Ayuda.


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

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

6.13. Elementos sobre ficheros


Se pueden utilizar ficheros para: Guardar el valor de todas o algunas de las variables definidas en una sesin
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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

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

Tabla N 7. Algunos elementos sobre ficheros.

7.

Reloj y Fecha.

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

El primer nmero es un multiplicador, y los siguientes nmeros de la segunda lnea tienen el formato: [Ao, mes, da, hora, minuto, segundo] Los nmeros de la segunda lnea se pueden mostrar en formato entero, de la siguiente manera:

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

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

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.

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

Pg.

48

10.

Formato para exhibicin de nmeros.

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

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

11.

Caracteres especiales y operadores.

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

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

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

Pg.

49

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

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.

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

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:

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

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

Tabla N 10. Algunas funciones para operar con nmeros enteros Estos son algunos de los muchos comandos que dispone MatLab. Dejamos a la inquietud de los lectores la bsqueda de otros comandos, que no se han explicado en estas notas.

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

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

Pg.

51

Ejemplo.

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

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

Pg.

52

13.

Escalares, Vectores y Matrices.

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

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

La orden anterior crea una variable w, que almacena un vector-columna de longitud 6 (una matriz de dimensiones 6x1). Otras rdenes para definir vectores son:

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

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

Pg.

53

Ejemplo.

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

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

Pg.

54

Ejemplo.

Ejemplo. Determinar el vector transpuesto de:

v = [1.5, 2.3, 6,14.9,18.05]

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

Atencin: En MATLAB, los subndices de los vectores y matrices comienzan siempre por 1 Tambin se puede acceder a un bloque de componentes de un vector, indicando los subndices mnimo y mximo, o indicando un subconjunto de ndices.

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

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

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:

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

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

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

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:

Tabla N 12. Algunas operaciones con vectores. Ejemplos.

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

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

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:

Tabla N 13. Algunas funciones especficas para vectores.

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

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

Pg.

58

13.5. Norma de una vector.


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

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

Para calcular en MATLAB la norma de un vector, se usa: >>norm(x, p ) El valor predeterminado de p es 2.


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

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

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]

13.6. Producto escalar y vectorial


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

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.

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

Pg.

60

Ejemplo Hallar el producto escalar de los vectores

3.2 2.4 v= 5.6 7.1

0.8 7.3 w= 1.6 9.4

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.

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

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

13.7 Funciones de matrices y vectores


Se pueden calcular funciones de matrices y vectores. As por ejemplo si

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.

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

Pg.

62

f (a11 ) f (a ) 21 f ( A) = f (am1 )
Si

f (a12 ) f (a22 ) f (am 2 )

f (a1n ) f (a2 n ) f (am n )

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

Para crear un vector similar se puede utilizar:


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

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

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

Si se tiene un conjunto de ecuaciones simultneas:

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.

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

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.

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

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.

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

Pg.

66

Ejemplo Dada la matriz A factorizar LU.

0.5 2.2 6.8 0.1 4 2 7 9 A= 12.5 11.7 12 8.6 4 6 9 3

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.

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

Pg.

67

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

13.10. Vectores propios y formas de Jordan


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

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

Si se desea obtener los vectores propios se usa la instruccin


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

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

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.

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

Pg.

69

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

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

Pg.

70

13.11. Definicin de matrices.


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

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

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

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

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

Pg.

71

Tabla N 14. Algunas operaciones con matrices.

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

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

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:

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


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

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

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.

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

Pg.

74

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

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

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

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

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.

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

Pg.

76

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

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

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.

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

Pg.

78

Tabla N 17. Algunas sentencias para operar con polinomios.

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

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

Pg.

79

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

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

Pg.

80

13.16 Otros Comandos para operar con matrices.


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

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

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

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

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.

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

Pg.

82

Tabla N 20. Otras funciones para operar con matrices. Ejemplos.

1 4 2 Ingresar la matriz A = 7 3 11 y calcular: 5 9 6


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

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

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

Pg.

83

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

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

Pg.

84

1 2 3 6 5 2 4 5 6 ; B = 0 7 3 , calcular: Dadas las matrices A = 7 8 9 11 15 4

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

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

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

Pg.

85

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

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

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.

calcular los autovalores y los

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

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

Pg.

87

13.17

Algunas Matrices Especiales.

MatLab dispone de algunos comandos que generan matrices particulares, que son de utilidad, como los que se muestran en la tabla N 21.

Tabla N 21. Algunos comandos para generar matrices particulares

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

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

Pg.

88

13.18 Sistemas Lineales. Algunos de los comandos para operar con sistemas lineales se muestran en la Tabla N 22.

Tabla N 22. Algunos comandos para operar con sistemas lineales.

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

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

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

13.19 Consideraciones adicionales sobre escalares y vectores.


De acuerdo a lo visto hasta el momento se puede ver claramente que un vector es un caso particular de una matriz, y puede ser un vector columna (nx1) o un vector fila (1xn).Pero para MATLAB el concepto de vector es mucho ms general, ya que toda lista de datos como: mediciones, registros, tabla de valores, listas generadas, etc., pueden ser tratados como vectores. En la tabla N 23, se muestran una serie de funciones adicionales para el manejo de vectores.
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

Pg.

90

Tabla N 23. Algunas funciones adicionales para el manejo de vectores. Ejemplo de aplicacin sobre la tabla precedente. Dados los vectores anterior.

v1 = [1 2 5] , v2 = [ 7 4 9] , obtener las funciones de la tabla

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

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

Pg.

91

13.20 Funciones adicionales sobre polinomios.


La necesidad de utilizar polinomios es muy frecuente en Ingeniera y en Ciencias Bsicas tanto en ecuaciones diferenciales, funciones de transferencia, modelos de estado, aproximacin polinmica de datos experimentales (por ejemplo mtodo de cuadrados mnimos), etc. Esta necesidad hace que MatLab disponga de un conjunto de comandos que permiten tratar los polinomios como vectores, y as poder realizar las operaciones usuales con los mismos. En la tabla N 24, se muestran algunas funciones adicionales bsicas, para el manejo de los polinomios.

Tabla N 24. Algunas funciones adicionales bsicas para el manejo de polinomios.

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

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

Pg.

92

Ejemplo. Dados los polinomios P ( x) = x5 + 3.5 x 4 6.25 x 2 + 5 x + 7.25

Q( x) = x9 + 13.5 x 7 8.5 x 4 + 2.8 x 2 10 x + 3


Se pide a) P + Q b) P Q c) Q/P d) Evaluar P en 2.25 y Q en 0.78 e) Hallar la derivada y la integral de P y Q considerando nulas las constantes de integracin. f) Hallar las races de P y Q. g) Hallar la descomposicin en fracciones simples de P(x)/Q(x).

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

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

Pg.

93

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

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

Pg.

94

13.21 Ajuste de curvas. 13.21.1 Ajuste mediante polinomios.

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.

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

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.

Estos valores indican que, el polinomio de grado 3 obtenido, es:

p ( x) = 0.1472 x3 + 0.7726 x 2 + 0.7770 x 0.0429


Ahora se graficarn simultneamente el polinomio p(x) con los puntos de las mediciones, para ello se emplea.

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

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

Pg.

96

As, se obtiene el grfico de la figura 13, que se muestra a continuacin

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:

En la figura 14 se muestra la aproximacin, mediante un polinomio de quinto grado.


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

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

Pg.

97

Fig. 14. Polinomio aproximador de grado cinco

13.21.2

Ajuste mediante splines cbicos.

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)

entrada x y entrada y son las coordenadas de los puntos de medicin y x es un vector de


puntos por donde se desea que el spline y tomara los valores del vector y. Ejemplo

Donde:

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

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

Pg.

98

MATLAB devuelve el grfico mostrado en la figura 15.

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

Interfase para ajuste de curvas

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.

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

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.

Fig. 16. Basic Fitting en el men Tools

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.

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

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

(line plot). Ver figuras 18 y19

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

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

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.

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

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 Otras funciones disponibles en MATLAB


MATLAB dispone de otras funciones que sirven para evaluar funciones, como as tambin para medir el tiempo de ejecucin.

13.22.1

Instrucciones eval y feva feva val

Para evaluar una funcin se puede emplear el comando eval Ejemplo

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

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

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.

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

Pg.

104

13.22.3

Comando wavread y sound

El comando wavread permite que se lea un archivo wav. La sintaxis es

>> [y, fs] = wavread(fnombre)


Donde fnombre es el nombre del archivo que se desea leer, y es un vector fila que contiene los datos y fs es la frecuencia de muestreo con que se grab el archivo wav. El comando sound reproduce un archivo especificada. La sintaxis es:

wav con una frecuencia de muestreo

>> sound (y, fs)


El archivo wav se reproduce a travs de la placa de sonido de la PC. El disco compacto que contiene el archivo musica.wav se puede escuchar si se tienen los datos de la frecuencia de muestreo con el que se grab el disco compacto. As por ejemplo >>fs = 26000 >>[y, fs]=wavread(musica) >>sound (y, fs) De esta manera se podr escuchar el archivo musica.wav

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

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

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.

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

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.

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

Pg.

107

15. Operaciones de Clculo comunes


MATLAB permite realizar las operaciones de clculos ms comunes, como ser Evaluacin de lmites Derivadas Integrales Resolucin de ecuaciones diferenciales Series Etc. Estas operaciones se pueden realizar en forma numrica o simblica. 15.1 Lmites

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

Ejemplo Calcular el lmite de

f ( x) = x3 , cuando x 2

Ejemplo Calcular el lmite de

f ( x) = x 2 + 1 x j

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

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

Pg.

108

Ejemplo Calcular el lmite de

f ( x) = x 2 + 1 x

Para calcular lmites laterales se utilizan las instrucciones siguientes:

De Clculo, se sabe que una funcin son iguales. Ejemplo Considrese la funcin

f ( x) es continua en un punto a si los lmites laterales

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

laterales no son iguales, concluimos x = 2 es discontinua en dicho punto.

que

la

funcin

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

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

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

MATLAB puede calcular el lmite de sucesiones. Considrese la sucesin:

an = n

1+ n n2

Para calcular, por ejemplo, el lmite de la sucesin cuando

n , es decir:

lim an = lim
n

1+ n n2

15.3

Continuidad

Se sabe que una funcin

f ( x) se dice continua en el punto x = a si se cumple que:


x a

lim f ( x) = f (a )

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

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

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

Cuando se quiera calcular el lmite para

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.

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

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:

Esto comprueba que la funcin no es continua en

x=0

Si se considera una funcin de dos variables

f ( x, y ) , dada por ejemplo por:

Si se quiere calcular el lmite cuando se tiende al punto lmite en el punto

( x0 , y0 ) , se debe recordar que si el

( x0 , y0 ) , tiene el mismo valor, independientemente de la forma como se

llegue a dicho punto, entonces el lmite existe Ejemplo

Sea la funcin de dos variable f ( x, y ) =


al origen

xy x + y2
2

y se desea calcular el lmite al tender

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.

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

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:

es la pendiente de las rectas. De esta manera la funcin

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.

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

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

f ( x) = x3 , sabemos que es: df dx = 3 x 2


Para realizar esta operacin con MATLAB es necesario definir la variable x como variable simblica. Para definir x como una variable simblica, se escribe x = syms (' x ') o bien se puede escribir x = syms x , con lo cual MATLAB considera desde este momento a la variable x como simblica y no la evala numricamente. Veamos como se realiza la derivada con MATLAB

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.

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

Pg.

114

Si se tiene el caso de una funcin de dos variables como la siguiente:

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.

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

Pg.

115

Para calcular la derivada con respecto a

, se efecta:

Si se desea derivar con respecto a derivar con respecto a n .

n,

es necesario explicitar a MATLAB que se debe

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.

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

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.

Para resolver integrales definidas, tales como:

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.

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

Pg.

117

Ejemplo

Evaluar

5x dx
0

MATLAB permite calcular integrales impropias , siempre y cuando stas converjan. Ejemplo
2 x

Calcular la integral impropia

sen(2 x) dx , mediante MATLAB x

Este resultado indica que la integral converge.

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.

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

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

MATLAB Permite evaluar series de la forma:

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.

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

Pg.

119

15.7. Ecuaciones diferenciales.


MATLAB permite resolver ecuaciones diferenciales. Cuando se describe una ecuacin diferencial en MATLAB, se emplea la notacin siguiente:

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

Las ecuaciones diferenciales se resuelven con el comando dsolve. Ejemplo

Resolver la ecuacin diferencial:

d 2 y (t ) + y (t ) = 4 dt 2

En la solucin anterior C1 y C2 son constantes. Si se tienen las condiciones iniciales,

y (0) = 1, dy (0)

dt

=0

se indican dentro de dsolve, despus de la ecuacin diferencial, como se muestra a continuacin

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

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

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:

Ejemplo Resolver mediante MatLab la siguiente ecuacin diferencial

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.

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

Pg.

121

Ejemplo Sea el sistema de ecuaciones diferenciales:

dx(t ) dt = 5 x(t ) + 8 y (t ) , dy (t ) = 4 x(t ) + 9 y (t ) dt

x(0) = 1;

y (0) = 2

Con el comando dsolve se resuelve este sistema:

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.

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

Pg.

122

El mtodo, consiste en integrar ambos miembros por separado, y luego resolver la igualdad resultante. Para el ejemplo se tendr:

Una ecuacin diferencial muy interesante es la ecuacin diferencial homognea de orden n

an

dny d n 1 y + an 1 n1 + dt n dt

+ a2

d2y dy + a1 + a0 y = 0 2 dt dt

El polinomio caracterstico de esta ecuacin diferencial es:

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.

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

Pg.

123

Si las races de la ecuacin caracterstica son r , r2 , , rn , entonces la solucin de la 1 ecuacin diferencial est dada por:

y (t ) = C1e r1t + C2e r2t +


Donde

+ Cn1ern 1t + Cne rnt

C1 , C2 , , Cn

, son constantes que se determinan conociendo las condiciones

iniciales. Ejemplo Resolver


2

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.

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

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

dy = 4yt dt Intervalo :[0,1] , C.I . = y (0) = 2

MATLAB devuelve el grfico mostrado en la figura 21.

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

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

Pg.

125

Fig. 21. Grfico de la solucin de la ODE del ejemplo, segn ode23.

Empleando el comando ode45, se tiene lo siguiente:

MATLAB devuelve el grfico que se muestra en la figura 22.

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

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

Pg.

126

Fig. 22. Grfico de la solucin de la ODE del ejemplo, segn ode45.

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

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

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

Representacin grfica de funciones definidas por una frmula.

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.

En la figura 23 se muestra la grfica de la funcin.

Fig.23. Grfica obtenida segn ezplot.


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

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

Pg.

128

Ejemplo.

En la figura 24 se muestra la grfica obtenida.

Fig.24. Grfica obtenida segn ezplot.

En la figura 25, se muestra la grfica obtenida

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

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

Pg.

129

Fig. 25. Grfica obtenida con el comando ezplot.

En la figura 26, se muestra el grfico obtenido con ezplot.

Fig.26. Otro grfico obtenido con ezplot.

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

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

Pg.

130

En la figura 27 se muestra el grfico obtenido con ezpolar.

Fig.27. Grfico obtenido con ezpolar

16.3

Curvas en el espacio

Para dibujar curvas en el espacio tridimensional, MATLAB dispone del comando ezplot3:

En la figura 28 , se muestra la curva obtenida con ezplot3.

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

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

Pg.

131

Fig. 28. Curva obtenida con la instruccin ezplot3.

16.4

Superficies.

En la figura 29 se muestra la grfica obtenida con la instruccin ezmesh.

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

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

Pg.

132

Fig. 29. Grfica obtenida con la instruccin ezmesh.

En la figura 30 se muestra otra grfica obtenida mediante ezmesh.

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

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

Pg.

133

Fig. 30. Otra grfica obtenida mediante ezmesh.

En la figura 31 se muestra la grfica obtenida.

Fig. 31. Otra grfica obtenida con ezmesh.

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

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

Pg.

134

En la figura 32, se muestra la grfica obtenida.

Fig. 32. Grfica obtenida con ezcontour.

En la figura 33 se muestra la grfica obtenida.

Fig. 33. grfica obtenida con ezcontourf

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

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

Pg.

135

En la figura 34 se muestra la grfica obtenida.

Fig. 34. Grfica obtenida con ezmeshc.

En la figura 36 se muestra la grfica obtenida.

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

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

Pg.

136

Fig. 36. Grfica obtenida con ezsurf.

En la figura 37 se muestra la grfica obtenida.

Fig. 37. Grfica obtenida mediante ezsurfc.

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

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

Pg.

137

17

LA VENTANA GRFICA DE MATLAB

En la figura 38 se muestra la pantalla que corresponde a la ventana grfica de MATLAB

Fig. 38. Ventana Grfica de MATLAB.

17.1

Algunos comandos grficos auxiliares.

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.

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

Pg.

138

Fig. 39. Grfico de referencia, sobre el cual se realizarn diferentes demostraciones.

En la figura 40 se muestra la grfica con y sin grilla.

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

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

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.

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

Pg.

140

Fig. 42. Grfica sin ejes y con diferentes factores de escala.

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.

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

Pg.

141

Fig. 43. Grfica con diferente punto de observacin y colores alternativos.


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

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

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

Fig. 44. Comando subplot.

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

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

Pg.

143

18.

Resumen de los comandos bsicos de dibujo 2D y 3D

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.

Fig. 46. Comando plot para graficar varias curvas simultneamente.

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

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

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.

Fig. 47. Comando plot con asignacin de un parmetro.

En la figura 48 se muestra el comando plot para dibujar una curva tridimensional.

Fig. 48. Comando plot para graficar una curva tridimensional.

En la figura 49, se muestra el comando mesh en alguna de sus variantes.

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

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

Pg.

145

Fig. 49. Comando mesh y algunas de sus variantes.

En la figura 50 se muestra el comando surf en alguna de sus variantes.

Fig. 50. Comando surf con algunas de sus variantes. En la figura 51 se muestra el resultado de usar el comando combinaciones

contour y algunas de sus

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

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

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.

Tabla N 28. Colormap y algunas de sus posibilidades.

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

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

Pg.

147

Ejemplos

Fig. 52. Ejemplos del uso de Colormap

(m)

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

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

Pg.

148

EJEMPLOS. Ej.1) Sea el conjunto de puntos (x, y), dados en el cuadro de valores siguiente:

En la ventana de grficos, se obtiene la grfica mostrada en la figura 53:

Fig. 53. Grfica de la curva definida por un conjunto de puntos.

Ej.2) Sea la funcin escalar: f ( x ) = 3e 0.5 x cos(6 x + 2)

En la pantalla grfica de la figura 54 se muestra el dibujo, correspondiente a la funcin analtica dada..

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

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

Pg.

149

Fig. 54. Grfica de la curva analtica del ejemplo.

Ej.3)

En la figura 55 se muestra la grfica obtenida

Fig. 55. Grfica de la funcin con lnea de puntos.


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

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

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

Se obtiene la figura 56 mostrada a continuacin.

Fig. 56 Grfica de varias funciones con ejes comunes.

Ej. 4b) dem anterior pero con seleccin de escala.

El grfico obtenido, es el que se muestra en la figura 57.

Fig. 57. Grfico con seleccin de escalas

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

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

Pg.

151

Ej. 5) Graficar la funcin f ( x ) = 3e 2 x 4.5e 3 x , en el intervalo [0,1], empleando el comando ezplot

El grfico obtenido se muestra en la figura 58 .

Fig. 58. Grfico de la funcin obtenido con el comando ezplot

Ej.6.) Graficar las funciones f ( x ) = e 0.2 x sen2 x,

g ( x) = sen1.5 x + cos ( x + 5) .

En la figura 59, mostrada a continuacin, se puede ver el grfico obtenido.

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

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

Pg.

152

Fig. 59. Grfico de las funciones f(x), g(x) y f(x)+g(x), con distintos tipos de lneas.

Ej.7.-) Dada la funcin f ( x) = e cos( x [-10,10].


3

+ 5)

, definirla en forma simblica y graficarla en el intervalo

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.

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

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)

, definirla en forma simblica y graficarla en el intervalo

Para ello se puede modificar los comandos de la siguiente manera:

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

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

Pg.

154

En la figura 61 se muestra la grfica obtenida.

Fig. 62. Grfica de la funcin con escalas distintas

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.

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

Pg.

155

Ejemplo. Visualizar simultneamente, pero no superpuestas, las grficas de las siguientes funciones.

f ( x) = cos3 x; g ( x) = sen5 x; h( x) = e 0.03 x ; k ( x) = e sen (3 x + 2)

Se obtienen los grficos mostrados en la figura 64.

Fig. 64. Varios grficos en ventanas individuales.


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

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

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.

Tabla N 30. Comandos de MATLAB para grficos semilog y log/log.

Ejemplo. Sea la funcin : f ( x) = e 0.3 x : representar la grfica en escalas logartmicas en combinacin con la operacin subplot.
2

En la figura 65 se muestran los grficos obtenidos en ventanas individuales.

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

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

Pg.

157

Fig. 65. Grficos obtenidos con el comando subplot.

Ejemplo. Dada la curva definida en forma paramtrica mediante: intervalo de validez : 0 t 12 .

x(t ) = 3cos t cos3t , con y (t ) = 2 sent sen 2t

el

Se obtiene la salida grfica, mostrada en la figura 66..

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

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

Pg.

158

Fig. 66. Grfica de la funcin del ejemplo. Ejemplo:

Se obtiene el grfico mostrado en la figura 67.

Fig. 67. Grfico polar.

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

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

Pg.

159

Ejemplo.

En la figura 68 se muestra el grfico polar obtenido.

Fig. 68. Grfico polar del ejemplo.

Ejemplo: Aplicacin a la Ingeniera de Comunicaciones. Modulacin de amplitud y frecuencia


Las expresiones matemticas que modelan estos tipos de modulaciones son:

Modulacin en amplitud: eAM (t ) = ( E p + Em cos m t )cos p t Modulacin en frecuencia: e FM (t ) = E p cos( pt + f (t ))


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

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

Pg.

160

E p : amplitud de la portadora Em : amplitud de la modulante

m : pulsacin de la modulante p : pulsacin de la portadora


f(t): seal modulante en frecuencia
Para la seal modulada en amplitud, se considerarn modulaciones de 0%, 50%, 100% y 150% (sobre modulacin).

En la figura 69 se muestran los grficos obtenidos , para las modulaciones en amplitud.

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

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

Pg.

161

Fig. 69. Grficos de las modulaciones en amplitud.

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.

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

Pg.

162

En la figura 70 se muestran los grficos obtenidos para las modulaciones en frecuencia.

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

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

Pg.

163

Fig. 70. Grficos de la modulacin en frecuencia. Ejemplo.

Aplicacin a la Ingeniera de Sistemas Dinmicos Lineales (Teora de Control)


Consideremos un sistema lineal de una entrada y una salida(SISO), cuyo modelo es:

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.

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

Pg.

164

La salida en funcin del tiempo se muestra en el grfico de la figura 71:

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.

Fig. 72. Respuesta en frecuencia del sistema de control del ejemplo.


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

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

Pg.

165

19 19.1

Otros tipos de grficas Grfica de barras

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:

MATLAB devuelve el grfico de barras mostrado en la figura 73.

Fig. 73. Grfico de barras.


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

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

Pg.

166

19.2

Grfica de escalera.

La misma funcin se puede graficar en forma de escalera mediante el comando stairs (x, y, s)

MATLAB devuelve el grfico mostrado en la figura 74.

Fig. 75. Grfico tipo escalera.

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

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

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.

MATLAB devuelve la grfica mostrada en la figura 76.

Fig. 76. Grfica tipo histograma.

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

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

Pg.

168

19.4

Grfica de puntos (stem)

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

MATLAB devuelve la grfica mostrada en la figura 77:

Fig. 77. Grfica de puntos (stem)

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

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

Pg.

169

19.5

Grfica de brjula o circular (Compass)

Est grfica muestra la magnitud y argumento de nmeros complejos. El comando es compass (z) = compass (x+jy) = compass (x,y)

Donde el nmero complejo es: Ejemplo

z = x+ j y

Representar en un grfico circular o de brjula, el vector dado por:

z = [3 + 2.5 j , 5 + 3 j ,8 10 j , 5 6 j ]

MATLAB devuelve el grfico mostrado en la figura 78:

Fig. 78. Grfico circular (compass).

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

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

Pg.

170

19.6

Grfica de torta (pie)

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

Ejemplo Obtener la grfica de torta del vector:

B = [2.5, 3.8, 6, 7.9, 4.1]

MATLAB devuelve el grfico de tortas mostrado en la figura 79.

Fig. 79. Grfico de torta (pie)

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

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

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

En la figura 80, se muestra la pantalla correspondiente

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

Para crear un archivo-M hay que utilizar la secuencia MATLAB File

New

M-File Crtl+N

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

Pg.

172

Fig. 80. pantalla para crear un archivo M-file El directorio para guardar un archivo-M se abre con la secuencia:

En la figura 81, se muestra el archivo work

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

File

Save Workspace as (o Save File as)

Fig. 81. Archivo work.

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

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.

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

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.

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

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.

Fig. 86. Archivo Mario.m en el directorio work.


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

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

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

Instrucciones bsicas de programacin.

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)

Instruccin if-end if-

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.

Tabla N 30. Operadores lgicos de MATLAB


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

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

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.

Tabla N 31. Operadores de relacin

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.

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

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:

Fig. 89. Ventana de comandos para correr el programa Ejemplo_1


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

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

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

Si la condicin se cumple, se ejecutan las declaraciones declaracin

a1 a la an .

Despus de la

an

, el programa contina con la instruccin que sigue al end.

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.

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

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.

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

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.

Fig. 91. Programa Ejemplo_3

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

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

Pg.

182

Luego se va a la ventana de comandos y se corre el programa, ingresando las entradas correspondientes.

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)

Instruccin switch-case switch-

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.

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

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.

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

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.

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

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.

Fig. 93. Programa Ejemplo_6

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

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

Pg.

186

Luego en la ventana de comandos se ejecuta el programa, como se muestra a continuacin:

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.

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

Pg.

187

Ejemplo Calcular el factorial de un nmero entero

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.

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

Pg.

188

Ejemplo (del empleo de la instruccin for anidada) Se desea sumar todos los elementos realizando la suma

aij

de una matriz

nm .

Esto se puede hacer

suma =
i =1

aij
j =1

Esta suma se puede realizar con el programa indicado en la figura 96.

Fig. 96. Programa Ejemplo_9

Para correr el programa, se va a la ventana de comandos, y se ejecuta como se muestra a continuacin.

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

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

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.

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

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.

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

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

Fig. 98. Programa factorial.m

Ejecutando esta funcin en la ventana de comandos, se tiene lo que se muestra a continuacin

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

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

Pg.

192

Ejemplo Solucin de una ecuacin de segundo grado

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.

Fig.99. Programa cuadratica.m


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

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

Pg.

193

Al correr esta funcin en la ventana de comandos, se obtienen las soluciones:

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.

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

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.

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

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.

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

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

status indica si se cerr correctamente el archivo (status=0). Si no se pudo cerrar MATLAB


enva un mensaje con la razn por la que no se pudo cerrar el archivo. Antes de cerrar MATLAB, es conveniente cerrar todos los archivos que se hayan abierto para evitar que se pierdan los datos que se escribieron en los mismos.

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

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

Pg.

197

20.3.2

Escritura de informacin en un archivo

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.

identificador, como se muestra en la

Fig. 105. Escritura en un archivo mediante el identificador.


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

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

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.

20.3.3 Escritura y Lectura de datos con formato


MATLAB permite, tambin, escribir y leer datos formateados. Una buena manera de ver esto es a travs de un ejemplo. Ejemplo Escritura de datos con formato Supngase que se tiene informacin de las mejores(arriba de 7) notas del primer parcial del ao 2007. Los datos son 1) Nombre 2) Apellido 3) Legajo 4) Nota -Cadena de 20 caracteres. -Cadena de 20 caracteres. - Cantidad de 6 dgitos. - Cantidad de 2 dgitos.

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:

Para ver los datos de uno de ellos, se ejecuta en la ventana de comandos:

Para escribir esta informacin en un archivo, se usa el programa figura 106

script, mostrado en la

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

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

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.

Fig. 107. Apertura mediante el bloc de notas.

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.

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

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.

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

Pg.

201

fin_de_linea = fscanf (fid_datos,%1c,1) que aunque no se usa, es necesario leerlo


para que no lo lea el siguiente fscanf, como se hizo con las comas. Para ver como funciona el programa, se corre el archivo en la ventana de comandos y se ven las variables:

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

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

Pg.

202

21

Intercambio de datos entre MATLAB y EXCEL

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

Fig. 109. Archivo Datos_del_curso.txt en el archivo work.

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.

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

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

Fig. 111. Asistente para importar textos, paso 2 de 3.


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

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

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.

Fig. 113. Archivo Datos_del_curso en Microsoft Excel.


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

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

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. 114. Matriz A.

Este arreglo, se puede escribir en un archivo en la figura 115.

matriz.csv, mediante la instruccin mostrada

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.

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

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.

Fig. 117. Vista del archivo matriz.csv en Excel.

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.

Lectura en MATLAB de datos creados en EXCEL.

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

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

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.

Fig. 119. Archivo datos_9_9 en work.

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

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

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.

Fig. 120. Archivo datos_9_9 en la ventana de comandos

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.

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

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

deber desarrollar en el editor de archivos M de MatLab, la frmula indicada.

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:

As se obtiene el grfico mostrado en la figura 121:

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

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

Pg.

210

Fig. 121. Grfico de la funcin generada, y guardada en el archivo myfile.

Ejemplo3. Considrese la funcin f ( x) = 1

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

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

Pg.

211

En la figura 122, se muestra el grfico obtenido

Fig. 122. Grfico de la funcin f(x).


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

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

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.

Fig. 123. Programa 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.

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

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.

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

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.

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

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.

Fig. 127. Respuesta al escaln del sistema de tercer orden.


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

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

Pg.

216

Si se desea resolver la ecuacin matricial de estado:

dx dt = Ax + Bu y = Cx + Du
Se utiliza la instruccin lsim, con el formato:

>> [x,y]= lsim[A, B, C, D, t]


Si el sistema tiene condiciones iniciales, a travs de su vector de condiciones iniciales, se agrega dicho vector al final de la instruccin lsim, como se muestra a continuacin.

>< [x, y] = lsim[A, B, C, D, t, xo]


Veamos el caso del sistema anterior con alpha = 20. El programa se muestra en La Fiogura 128.

Fig. 128. Programa para resolver las ecuaciones de estado.

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

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

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.

Magnitud de una funcin en el plano complejo


Considrese la funcin transferencia dada por:

s2 + 3 G (s) = 2 s + s +1
Esta funcin tiene dos polos ubicados en:

1 3 p1,2 = j 2 2

y los ceros estn en:

z1,2 = j 3 .

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

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

Pg.

218

La magnitud,

G ( j )

se puede graficar en forma tridimensional en el plano complejo

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.

s = + j . Para lograr esto en primer lugar se debe generar una rejilla

Fig. 130. Programa para graficar la funcin de variable compleja.

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.

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

Pg.

219

Fig. 131. Grfica de la funcin transferencia. Ejemplo 7. Deformacin de una viga

Aplicacin a la ingeniera civil y mecnica.


Sea una viga horizontal de L = 20 m de longitud, apoyada en los extremos, como se muestra en la figura 132. Si la viga tiene una carga uniformemente distribuida de w = 100kg/m, encontrar la ecuacin que describe la viga al deformarse.

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.

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

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.

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

Pg.

221

Fig. 133. Programa de MATLAB para obtener el grfico de la elstica.

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.

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

Pg.

222

Fig. 134. Ecuacin de la elstica y flecha mxima.

Fig. 135. Grfica de la elstica.


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

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

Pg.

223

Ejemplo 8.

Sistema amortiguado sometido a un movimiento armnico en la base.


En muchas ocasiones se tiene un sistema Masa-Resorte-Friccin viscosa, como se muestra en la figura 136.El mismo se encuentra sometido a un movimiento armnico en su base.

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

Realizando la sumatoria de fuerzas en el nodo dx/dt se tiene:

d 2x dx dy m 2 + b + kx b ky = 0 dt dt dt
Como el desplazamiento de la base es

y (t ) = Ysen(t ) la base y est dada por: dy (t ) / dt = Y cos (t ) .

, su derivada es la velocidad de

Reemplazando en la ecuacin diferencial se obtiene:

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.

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

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:

dx1 dt = x2 k b bY kY dx2 dt = m x1 m x2 + m cos(t ) + m sen(t )


Se considerarn los siguientes valores de los parmetros y amplitud de la excitacin:

m1 = 100kg , m2 = 500 kg , Y = 0.1, k = 400,


Sobre esta base, se pueden desarrollar los siguientes programas: a) El sistema de ecuaciones se puede programar en una funcin como: mediante el programa indicado en la figura 137.

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.

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

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.

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

Pg.

226

Fig. 139. Desplazamiento y velocidad de la masa m. Tiro en el vacio (parablico)

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

m con velocidad inicial v0 y

con respecto al eje horizontal, como se muestra en la figura 140.

Fig. 140. Tiro en el vacio

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

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

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

coordenada x coordenada y Componente de la velocidad segn x Componente de la velocidad segn y

Con esta eleccin de variables de estado, las ecuaciones ODE del sistema, se transforman en:

dx1 dt = x3 dx2 dt = x4 dx3 dt = d 2 x dt 2 =0 dx4 dt = d 2 y dt 2 = g


Estas ecuaciones se pueden programar en una funcin, como la mostrada en la figura 141:
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

Pg.

228

Fig. 141. Programa tiro_parabolico (t, x)

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.

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

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

2 v0 sen 2 (100) 2 sen 2 (30 ) = = = 127, 42m 2g 2 9.81

Asimismo la distancia horizontal mxima est dada por:

xmax

2 v0 cos (100) 2 cos (30 ) = = = 882.80 m g 9.81

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.

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

Pg.

230

Fig. 143. Grficas del tiro en el vacio

Ejemplo 10.

Tiro considerando la resistencia del aire

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.

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

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:

dx1 dt = x3 dx2 dt = x4 d 2x c dx dx3 dt = 2 = m dt dt c dx dy 2 2 + = x3 x3 + x4 m dt dt c dx dy 2 2 + = g x4 x3 + x4 m dt dt


2 2 2 2

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.

Fig. 144. Programa tro_parabolico_aire (t, x).

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

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

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.

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

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.

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

Pg.

234

Ejemplo 11.

Descenso de un paracaidista.

El paracaidista se lanza desde un avin en

t =0

, a una altura h y abre su paracadas en

el instante t0 . La dinmica del modelo es la siguiente: en el instante de lanzamiento


inicial es:

v(0) = vin = 0

y la altura es

t = 0 la velocidad y (0) = h . En el intervalo de tiempo 0 t t0 el

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

En el instante y altura son:

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.

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

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

As la velocidad lmite es:

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.

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

Pg.

236

Fig. 148. Programa para resolver la ecuacin del paracaidista.

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

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

Pg.

237

23. Nmeros Complejos.

Fig. 149. Grfica del paracaidista.

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 ,

= a tan b a . Dems est decir la importancia que

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.

Tabla N 33. Funciones bsicas para operar con nmeros complejos.

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.

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

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.

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

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.

Fig. 151. Instrucciones para graficar z1, z2 y sus conjugados.

Fig. 152. Representacin mediante puntos de z1, z2 y sus conjugados.


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

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

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.

Fig. 154. Representacin de los complejos por sus vectores asociados.


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

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

Pg.

241

24. Funciones Reales de varias variables (campos escalares).


La operacin con funciones de varias variables reales, es similar a la operacin con funciones de una variable. Debido a ello se darn ejemplos directamente. Ejemplo: Sea las funciones reales:

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.

Fig. 155. Comandos para evaluar las funciones reales.

25. Grficas Tridimensionales (3 D).


MatLab posee una excelente potencialidad para la visualizacin de superficies en 3D como as tambin en la manipulacin de grficas en 3D. Algunos de los comandos para la realizacin de grficos en 3D, son los indicados en la Tabla N 34.

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

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

Pg.

242

Tabla N 34. Algunos comandos para grficas 3D

Ejemplo. Dada la curva definida en forma paramtrica por las ecuaciones:

x = 3sen(2t ) y = 5cos(t ) z = t3
Realizar el grfico 3D.

Se obtiene el grfico, mostrado en la figura 156.

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

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

Pg.

243

Fig. 156. Grfico 3D para una curva.

Ejemplo. Sea la funcin (campo escalar) : f ( x, y ) = en 3 .

sen( x 2 + y 2 ) x2 + y 2

, realizar una grfica de la superficie

Se obtiene la grfica mostrada en la figura 157.

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

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

Pg.

244

Fig. 157. Superficie 3D.

Ejemplo. Sea la funcin dada por: f ( x, y ) = cos x.cos y . Se desea graficarla empleando el comando meshc.

En la figura 158 se muestra el grfico obtenido.

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

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

Pg.

245

Fig. 158. Grfico 3D.

Ejemplo. Dada la funcin : q ( x, y ) = 0.7 y 3 / 2 2 x , se desea graficarla utilizando el comando mesh y contour .

Esto devuelve el grfico mostrado en la figura 159.

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

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

Pg.

246

Fig. 159. Grfico obtenido mediante mesh

Para obtener el contorno se cargan las instrucciones siguientes:

MatLab devuelve el grfico mostrado en la figura 160.

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

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

Pg.

247

Fig. 160. Grfico de contornos.

26. Funciones Complejas y de variable compleja.


Una funcin de variable compleja es una transformacin del plano xy al plano uv, donde u y v son campos escalares de x e y, de tal manera que:

f ( z ) = u ( x, y ) + iv( x, y )
Es necesario poder ver como se transforma una curva descripta en forma paramtrica, tal como:

x = x(t ) con t D en el plano xy en otra dada por : y = y (t ) u = u (t ) con t D en el plano uv v = v(t )

Reemplazando en la expresin de f(z), se obtiene:

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

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

Pg.

248

f [ x(t ) + iy (t )] = u [ x(t ), y (t )] + iv [ x(t ), y (t )] f (t ) = u (t ) + iv(t )

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

Fig. 161. Comandos para realizar los grficos.

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

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

Pg.

249

MATLAB devuelve el grfico mostrado en la figura 162.

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.

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

Pg.

250

En la figura 163, se muestran los comandos necesarios.

Fig. 163. Comandos para graficar los campos escalares. MATLAB devuelve como salida el grfico mostrado en la figura 164.

Fig. 164. Mdulo y Argumento de f(z).


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

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

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.

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

Pg.

252

Fig. 166. Comandos para realizar las grficas solicitadas.

Fig. 167. Grficas que muestran el comportamiento del resistor en alta frecuencia.

MatLab devuelve el grfico mostrado en la figura 168.

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

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

Pg.

253

Fig. 168. Reactancia del resistor en funcin de la resistencia.

27. Diferenciacin e Integracin numrica.


27.1. Derivacin e integracin de funciones escalares.
MatLab cuenta con varios comandos que permiten hallar la derivada e integral tanto en forma simblica como en forma numrica. Entre ellos se cuenta con los comandos mostrados en la Tabla N 35.

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.

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

Pg.

254

Ejemplo Dada la funcin f ( x, y ) = ( x + y ) cos( x3 + y 3 ) respecto de x e y.

, se desea obtener las derivadas parciales

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

Fig. 169. Comandos para graficar la funcin y su derivada.

MatLab devuelve los grficos mostrados en la figura 170.

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

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

Pg.

255

Fig. 170. Grficos de la funcin y su derivada.

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.

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

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

Fig. 171. Grficas de la funcin y su integral


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

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

Pg.

257

28. Campos vectoriales. Conceptos bsicos.


Algunos de los comandos que se disponen en MatLab son los mostrados en la tabla n 36:

Tabla N 36. Algunos comandos para trabajar con campos vectoriales.

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.

MatLab devuelve el grfico mostrado en la figura 172.

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

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

Pg.

258

Fig. 172. Lneas de campo para la funcin del ejemplo.

29. Funciones adicionales para manejo de grficos.


Algunas funciones adicionales para el manejo de grficos se muestran en la tabla N 37.

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

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

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.

Fig. 173. Grficas de las funciones f(x) y g(x).


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

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

Pg.

260

Ejemplo. Dada la funcin f ( x) = x 2 , realizar una grfica discreta con la funcin stem.

MatLab devuelve la salida mostrada en la figura 174.

Fig. 174. Grfica discreta de la funcin.

30.
30.1.

Races de ecuaciones y mnimos de funciones.


Races de ecuaciones.

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.

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

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

>> ezplot('x+log(x/3)'). MATLAB entrega el grfico mostrado en la figura 175.

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

>> fzero('x+log(x/3)',1) ans = 1.0499


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

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

Pg.

262

Si la ecuacin f ( x ) = 0 distintos para cada raz. Ejemplo.

tiene ms de una raz, es necesario tomar puntos prximos

Calcular con MatLab, las races de la ecuacin.

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.

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

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.

Si lo que se desea es calcular las races de un polinomio

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.

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

Pg.

264

Ejemplo. Calcular las races de la ecuacin polinmica: x3

5 2 1 x + x +1= 0 2 2

Ejemplo. Calcular las races de la ecuacin polinmica: x3 + 1 = 0

30.3.

Mnimos y mximos de funciones.

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.

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

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]

Ejemplo. Hallar el mnimo de:

f ( x) = x3 x
x [ 1,1]

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

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

Pg.

266

Grficamente se puede ver el mnimo en el intervalo [-1, 1], en la figura 178.

Fig. 178. Grfico de la funcin con indicacin del mnimo.

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.

Tabla N 38. Otra manera de determinar mnimos.

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.

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

Pg.

267

Fig. 179. Conjunto de comandos para determinar el mnimo y la grfica.

Fig. 180. Grfica de la funcin.

Ejemplo: Hallar el mnimo relativo de la funcin : f :R R


2

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.

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

Pg.

268

Fig. 181. Conjunto de instrucciones para realizar los clculos y obtener las grficas.

Fig. 182. (a) Superficie, y (b) curvas de nivel.

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

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

Pg.

269

31.
31.1

Resolucin numrica de ecuaciones diferenciales.


Ecuacin diferencial nica. Problemas de Valor

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.

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

Pg.

270

Tabla N 40. Instruccin para ejecutar ode23.

Ejemplo Calcular la solucin de

y ' = 2t + y en [1, ] y (1) = 0.5

Las instrucciones son simples y se muestran a continuacin:

MatLab devuelve el grfico mostrado en la figura N 183.

Fig. 183. Grfico de la solucin de la ecuacin diferencial.


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

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

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.

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

Pg.

272

MatLab devuelve la grfica mostrada en la figura 185.

Fig. 185. Grfica de la solucin con el mtodo alternativo.

Ejemplo.

t dy / dt = 0.2 cos( ) y Calcular la solucin de: 2 y (1) = 0.5

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

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

Pg.

273

MatLab devuelve el grfico de la solucin, mostrado en la figura 186.

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

t dy / dt = 0.2 cos( ) y en [1, ] 2 y (1) = 0.5

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

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

Pg.

274

MatLab devuelve el grfico mostrado en la figura 187:

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:

t dy / dt = a cos( ) y en [0, 6 ] 2 y (0) = 1


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

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

Pg.

275

En el m-file se escribe el siguiente programa:

Luego en la ventana de trabajo se introducen las sentencias que permiten obtener la solucin.

MatLab devuelve el grfico mostrado en la figura 188.

Fig. 188. Grfico de la solucin para a = 1.

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

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

Pg.

276

MatLab devuelve el grfico mostrado en la figura 189.

Fig. 189. Grfico de la solucin para a = 2.5.

31.2.

Sistemas de Ecuaciones Diferenciales.

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.

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

Pg.

277

Ejemplo. Resolver el siguiente sistema de ecuaciones diferenciales:

dy1 / dt = y2 y3 dy2 / dt = 0.7 y1 y3 dy / dt = 0.5 y y 3 1 2 y (0) = 0 1 y2 (0) = 1 y3 (0) = 1

y2 y3 dY / dt = F (t , y ) = 0.7 y1 y3 0.5 y1 y2

0 Y (0) = Y0 = 1 1

En la figura 190, se muestra la grfica de la solucin del sistema ODE.

Fig. 190. grfica de la solucin para el sistema ODE


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

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

Pg.

278

Ejemplo. Resolver el sistema de segundo orden:

1 2 2 d y / dt = dy dt sen( y ) y (0) = 1 dy / dt (0) = 1


Realizando un cambio conveniente de variables, se obtiene:

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:

MatLab devuelve el grfico que se muestra en la figura 191.

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

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

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.

Tabla N 41. Algunos comandos para resolver ODE en forma simblica.

Ejemplo. Resolver y graficar la solucin de la ecuacin diferencial:


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

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

Pg.

280

dx(t ) + x(t ) = 5 dt x(0) = 1

MatLab devuelve el grfico mostrado en la figura 192.

Fig. 192. Grfico de la solucin simblica de la ODE

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

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

Pg.

281

Ejemplo. Resolver y graficar la solucin de la siguiente ecuacin diferencial.

d 2 x(t ) + dx(t ) / dt + 2 x(t ) = et 2 dt x(0) = 1 dx(0) / dt = 0


>> x=dsolve('D2x+Dx=-2*x+exp(t)','x(0)=1','Dx(0)=0','t') x= 1/4*exp(t)+3/4*exp(-1/2*t)*cos(1/2*7^(1/2)*t)+1/28*exp(-1/2*t)*sin(1/2*7^(1/2)*t)*7^(1/2) >> ezplot('1/4*exp(t)+3/4*exp(-1/2*t)*cos(1/2*7^(1/2)*t)+1/28*exp(1/2*t)*sin(1/2*7^(1/2)*t)*7^(1/2)',[0,5]) >> grid on >> ylabel(' x(t)') MatLab devuelve el grfico la figura 193.

Fig. 193. Grfico de la solucin simblica de la ODE.


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

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

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.

32.1. Ecuaciones diferenciales como modelos Matemticos.


Es importante considerar el concepto que relaciona un modelo matemtico y una ecuacin diferencial. En general es deseable describir el comportamiento de un sistema o fenmeno real, ya sea fsico, sociolgico o incluso econmico, en trminos matemticos. La descripcin matemtica de un sistema o fenmeno se llama modelo matemtico y se construye con ciertos objetivos en mente. Ejemplos de estos objetivos, podran ser: Determinar la amplitud y periodo de las oscilaciones de un Flapper (alern) de avin. Entender el mecanismo de cierto ecosistema al estudiar el crecimiento de poblaciones animales en ese sistema. Fechar fsiles al analizar la desintegracin de una sustancia radiactiva ya sea en el fsil o en el estrato en el que se descubri. Estudio de la cada de cuerpos considerando la resistencia del aire. Estudio de un cable colgante (puente, cables telefnicos o lneas de tensin elctrica). Estudio de la tensin y corriente a lo largo de una lnea de transmisin. Estudio de la trayectoria (en el plano) de un mvil terrestre (Por ej. automvil) considerando masa variable y resistencia del aire, frente a la fuerza suministrada por la planta motriz. Estudio de la velocidad de reaccin al mezclar dos(o ms) sustancias qumicas con una dada concentracin, temperatura y caudal. Etc. La construccin de un modelo matemtico de un sistema comienza con: i. Identificacin de las variables a las que se les atribuye el cambio en el sistema. Al principio se podra elegir incorporar todas estas variables en el modelo. En este paso se est especificando el nivel de resolucin del modelo.

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

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

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

ecuacin diferencial o un sistema de ecuaciones diferenciales.

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

a1.- Clasificacin por tipo


Si una ecuacin contiene solo derivadas ordinarias de una o ms variables dependientes con respecto a una sola variable independiente se dice que es una ecuacin diferencial ordinaria (EDO). Ejemplos: Ecuaciones diferenciales ordinarias

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.

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

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

Fig. 194. Ejemplos de orden en las ODE.

a3.-

Clasificacin segn la linealidad.

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:

y, y, y, y, , y ( n ) . Esto significa que

una EDO es lineal si

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.

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

Pg.

285

EDO lineales de orden n a coeficientes constantes.

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.

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

Pg.

286

b.-

Solucin de una EDO

Cualquier funcin,

, definida en un intervalo I y con al menos

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:

F ( x, ( x), ( x), ( x),, ( n) ( x)) = 0 , x en


Normalmente se dice que en el intervalo .

(muchas veces se designa por

y( x) )

satisface a la EDO

b.1.-

Curva solucin.

La grfica de una solucin

( x) o

y ( x)

de una EDO se llama curva solucin. Como de

( x) o
definicin

y ( x) ,

es una funcin diferenciable, resulta continua en el intervalo I,

Nota: Puede haber una diferencia entre la grfica de la funcin Solucin

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.

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

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

, de manera que las variables de estado solo

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.

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

Pg.

288

El estado del sistema en un tiempo

es el valor de las variables de estado en ese

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

32.2. Inicio de SIMULINK.


Para usar SIMULINK, hay que estar trabajando con MATLAB. SIMULINK se puede iniciar que se encuentra en la barra con una pulsacin (click) sobre el icono de SIMULINK: de tareas de MATLAB, o bien escribiendo la palabra SIMULINK en la ventana de comandos de MATLAB y dando enter, lo cul conduce a la ventana mostrada en la figura 196.

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.

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

Pg.

289

Fig. 197. Ejemplo de la Biblioteca de Elementos Continuos. Un Ejemplos de otra librera se muestra en la figura 198.

Fig. 198. Ejemplo de la librera de sistemas discretos.


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

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

Pg.

290

32.3. Creacin y corrida de un Modelo con Simulink.


Para comenzar la creacin de un modelo con SIMULINK, se selecciona New Model en el men File, con lo que se abre una ventana para armar el modelo, como la que se muestra en la figura 199.

Fig. 199. Ventana para armar el modelo

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.

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

Pg.

291

Fig. 200. Ventana que permite guardar en el archivo Work el Modelo_1

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:

= 1, 2, 8, 4, con u (t ) = escaln unitario


dy dt (0) = 0, y (0) = 0 .

frente a las condiciones

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.

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

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.

Fig. 202. Diagrama en bloques de la ODE del ejemplo.


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

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

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.

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

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.

Fig. 204. Pantalla del Modelo_1 armado y listo para correr.

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

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

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.

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

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.

Fig. 207. Respuesta del sistema, para = 1, en la pantalla Scope.


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

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

Pg.

297

En la figura 208 se muestra la respuesta del sistema para =

Fig. 208. Respuesta del sistema para = En la figura 209, se muestra la respuesta del sistema para =4

Fig. 209. Respuesta del sistema para =4


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

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

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 )

se hace cada vez ms amortiguada

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.

Fig. 210. Iconos de la ventana Scope.


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

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

Pg.

299

Una breve explicacin de las herramientas ms utilizadas son las siguientes

Print

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.

Fig. 212. Osciloscopio de cuatro entradas.


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

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

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.

Fig. 213. Ventana del Scope de 4 entradas.

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

Elemento Integrator (Integrador)

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.

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

Pg.

301

Fig. 214. Ventana de los parmetros del generador escaln.

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.

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

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

inf: Upper saturation limit -inf: Lower saturation limit

Permite establecer el lmite superior de saturacin. Permite establecer el lmite superior de saturacin.

El bloque integrador se muestra como:

Show saturation port

Colocando un tilde, en la ventana correspondiente, se puede ver el puerto de saturacin, y el bloque se muestra como:

Show state port

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.

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

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:

En esta ventana se determina el instante de tiempo en el cul se aplica el escaln.

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.

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

Pg.

304

Fig. 215. Ventana de parmetros del bloque Step.

32.7

Elemento Transfer function

Dentro de los elementos lineales y de seales continuas, se encuentra el bloque Transfer

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.

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

Pg.

305

En la figura 216, se muestra la ventana de parmetros del bloque:Transfer Fcn

Fig. 216. ventana de parmetros del bloque Transfer Fcn

Ejemplo: Cargar el bloque cuya

0.5s 2 + 2 s + 1 funcin transferencia sea G ( s ) = s 3 + 5s 2 + 3s + 8

En el Bloque: Transfer fcn, de la figura 217, se muestra como se cargan los coeficientes del numerador y denominador.

Fig. 217. Bloque de parmetros de Transfer Fcn.


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

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

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

Con los siguientes valores:

M = 10, B = 5, K = 20,
Donde

f (t ) = escaln de 1N

f (t ) : x (t ) :

Fuerza exterior, aplicada al sistema (entrada). Desplazamiento de la masa M (salida).

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.

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

Pg.

307 del

permite obtener con exactitud el valor en rgimen estacionario desplazamiento x

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

Fig. 219. Respuesta del sistema M-B-K.


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

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

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

x (t), se puede calcular

con el teorema del valor final, es decir:

lim x(t ) = x() = lim s G ( s ) = lim s


t s0 s 0

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:

d 2 x(t ) B dx(t ) k 1 = x (t ) + f (t ) 2 M dt m M dt d 2 x(t ) dx(t ) = 0.5 2 x(t ) + 0.1 f (t ) 2 dt dt


Si se integra la ecuacin precedente dos veces, se obtiene el desplazamiento de la masa m, es decir x (t ) . Luego de integrar dos veces, se debe cumplir con la ecuacin diferencial del sistema, expresada como se indic precedentemente. Lo dicho se puede llevar a un

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

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

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.

Fig. 220. Diagrama en bloques del 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.

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

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

internas del sistema.

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.

Considrese que las condiciones iniciales son

x (0) = 0.02 m dx (0) = 0.05 m / seg dt


Estas condiciones iniciales se cargan en los integradores del modelo UNLZ_2 y luego se realiza la simulacin registrndose la respuesta del sistema , obtenindose el grfico que se muestra en la figura 222 .

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

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

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:

x (t ) = x(t ) : desplazamiento Variables internas 1 x2 (t ) = dx dt : velocidad

Entrada al sistema u (t ) = f (t ) : fuerza

Salida del sistema y (t ) = x(t ) : desplazamiento

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

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

Pg.

312

La ecuacin diferencial de segundo orden se puede escribir ecuaciones de primer orden, de la siguiente manera:

como un sistema de dos

dx1 dt = x2 dx2 dt = B K 1 x2 x1 + u M M M

La salida se puede expresar como:

y = x1 + 0. x2

Las ecuaciones anteriores se pueden escribir en forma matricial, de la siguiente manera:

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.

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

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.

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

Pg.

314

x1 x x = 2 Vector de estado xn u1 u u = 2 Vector de entrada um

y1 y 2 Vector de salida y= yp
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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)

1 x1 0 dx1 dt 0 dx dt = 2 0.5 x + 0.1 u 2 2 x y = [1 0] 1 + [ 0] u x2

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.

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

Pg.

316

Fig. 225. Pantalla de Parmetros del bloque State-Space

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.

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

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

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

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.

Fig. 228. Grfico de la velocidad y del desplazamiento de la masa M

32.9. Bloque To Workspace. Conexin entre SIMULINK y MATLAB.

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.

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

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,

Fig. 230. Bloque To Workspace, designado como y.


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

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

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.

Fig. 231. Grfico de simulacin obtenido con el comando plot.


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

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

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.

La forma ms conveniente de ver la creacin de un subsistema es con un ejemplo

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.

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

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.

Fig.233. Bloque Subsystem englobando a los elementos seleccionados.


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

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

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.

Fig. 235. Bloque Subsystem colocado en un espacio de trabajo.


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

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

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.

Fig. 236. Conexiones existentes en el bloque Subsystem.

Este bloque se modifica, agregando algunos bloques adicionales que los conectamos como se muestra en la pantalla de la figura 237.

Fig. 237. Insercin de bloques entre la entada y salida de Subsystem.

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

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

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.

Fig. 239. Respuesta del sistema de la figura 238.


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

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

Pg.

326

Aplicaciones de SIMULINK a la Ingeniera.


I. Proceso trmico de acondicionamiento de temperatura de un lquido.
Un esquema del proceso trmico, se muestra en la figura 240.

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

( R, Rth , B, Cth ) , en principio, para resolverlo tenemos dos posibilidades:

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.

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

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 )

est limitada en amplitud a valores pequeos (pequea

seal) alrededor de un punto de operacin estable

( 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 ) ,

se podr linealizar el trmino que proporciona el flujo

calorfico por friccin viscosa. 4. Si las variables independientes del problema correspondiente al punto de operacin

( e(t ), (t ), a (t ) )
estable en

toman el valor estacionario

rgimen

( eo , o , a

a = Cte. ,

no se tendrn variaciones de temperatura del fluido ,

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.

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

Pg.

328

eo = 100 VDC R = 1000

B = 0.005

Nm rad seg W

a = 20 C

Cth = 70 J

Rth = 2 C

0 = 300 rpm = 31.42 rad seg

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

de 0 = 29.88 C , por sobre la temperatura ambiente (20C).

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.

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

Pg.

329

a)

Mtodo de Linealizacin del modelo.

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:

qcal = qcal qocal = qrem = qrem qorem

dqcal e de dq = rem d

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

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

Pg.

330

Teniendo en cuenta la aproximacin anterior, la ecuacin diferencial (ODE) del proceso trmico se puede escribir como:

2e0 d e + 2 B0 + a = + Cth R Rth Rth dt


Como la temperatura ambiente se considera constante (En realidad sus variaciones durante el tiempo de establecimiento

t s = 4 th ,

del sistema trmico,

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:

d ( a ) 2e0 a e + 2 B0 = + Cth R Rth dt


Designando como:

= a : Desviacin de temperatura respecto al ambiente


Finalmente la ODE se convierte en:

2e0 d e + 2 B0 = + Cth R Rth dt


Esta es la ODE lineal que representa al proceso, para pequeas variaciones de las variables en torno del punto de operacin en estacionario, y que permite determinar la dinmica del sistema. Teniendo en cuenta los parmetros del sistema trmico, se obtienen los coeficientes de la ODE Lineal:

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.

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

Pg.

331

Reemplazando los coeficientes calculados en la ODE Lineal se obtiene.

0.2 e + 0.3142 = 0.5 + 70

d dt

Para simular el modelo mediante SIMULINK, conviene despejar la derivada de mayor orden como se indica a continuacin:

d 0.2 0.3142 0.5 = e+ dt 70 70 70 d = 0.00286 e + 0.00449 0.007143 dt


La ODE precedente conduce al diagrama de simulacin con SIMULINK, mostrado en la figura 242.

Fig. 242. Diagrama en bloques del proceso trmico linealizado. Condiciones de simulacin:

e(t ) = 10V (10% del valor de estacionario)

(t ) = 3.142rad / seg (10% del valor de estacionario)


e(t ) = escaln de 10V , aplicado en t = 0

(t ) = escaln de 3.142 rad / seg , aplicado en t = 800 seg

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

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

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.

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

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

, prcticamente no vara durante el tiempo

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:

d * 0.001 e + 0.005 = 0.5 + 70 dt


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

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

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:

d * 0.001 2 0.005 2 0.5 * e + = dt 70 70 70


Esta ODE no lineal se representa en bloques, mediante SIMULINK, como se muestra en la figura 244.

Fig. 244. Proceso trmico, considerando la ODE no lineal.

Fig. 245. Respuesta temporal del proceso considerado no lineal.


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

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

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:

e = e0 + e = (100 + 10)V = 110 V

= 0 + = (31.42 + 3.142)rad / seg = 34.562 rad / seg


e0 = escaln de 100 V , aplicado en t = 0 e = escaln de 10 V (10% e0 ), aplicado en t = 800 seg

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.

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

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

= 6.284 rad / seg


Los resultados obtenidos, en la simulacin, se muestran en los grficos de las figura 247 y 248

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

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

Pg.

337

Fig. 247. Grfico temporal de la sobreelevacin de temperatura.

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.

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

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.

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

Pg.

339

II. Sistema de suspensin de un vehculo.


En la figura 249 se muestra un esquema simplificado de la cuarta parte de la suspensin de un automvil.

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.

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

Pg.

340

Fig. 250. modelo del sistema de suspensin. Los parmetros (muy parecidos a los reales) de la suspensin, tienen los siguientes valores:

mc = 453 kg , mw = 79 kg ks = 35 103 N / m, kt = 280 103 N / m bs = 584 N m / seg , bt = 44 N m / seg


Se pide. a) Obtener el modelo matemtico del sistema (ecuaciones ODE). b) Obtener el diagrama en bloques para la simulacin, mediante SIMULINK.

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 .

Comparar lo obtenido con el

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.

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

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

, y reemplazando los valores

de los parmetros dados al principio, se obtiene:

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.

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

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.

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

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.

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

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.

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

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.

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

Pg.

346

f)

Camino con juntas de 2x2 cm cada 6 m con el vehculo a 100 km/hr.

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.

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

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.

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

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.

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

Pg.

349

Simulacin mediante la matriz de transferencia


Para analizar el sistema se puede utilizar el mtodo de la matriz de transferencia. Para ello se transforma por Laplace las EDO del sistema y se obtiene:

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

+ 1.95 s 3 + 4240.42 s 2 + 4626.07 s + 2.74 105

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

+ 1.95 s 3 + 4240.42 s 2 + 4626.07 s + 2.74 105

Z g (s)

Expresando los polinomios como cociente de los ceros y polos transferencia, se obtiene:

de cada funcin

Z w (s) =

0.722( s + 6332.65)( s + 59.93) Z g (s) ( s + 0.428 j 64.604)( s + 0.548 j8.083)

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

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

Pg.

350

Z c ( s) =

1.29 ( s + 6.6469 )( s + 26.9166 j 49.995 ) Z g (s) ( s + 0.428 j 64.604)( s + 0.548 j8.083)

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.

Fig. 265. Desplazamientos de las masas, obtenidos con el modelo de transferencia.


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

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

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.

Fig. 266. Desplazamientos de las masas obtenidos con la funcin transferencia.

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.

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

Pg.

352

III. Servomotor de Corriente Continua.


Sea de un servomotor de corriente continua muestra en la figura 267 . con campo a imn permanente, como se

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

kb = 0.452 Vseg / rad

J m = 8.49 104 Kgm 2

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

es una cupla de carga sobre el eje del motor. Si

TL = 0

, se considera que el

motor est en vacio. Se considerar que el servomotor tiene dos entradas:

u1 = ea u2 = TL
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

Pg.

353

Una salida: la velocidad angular

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.

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

Pg.

354

1177.86 u1 dx1 / dt 4.71 532.39 x1 0 = + dx / dt 23.30 273.20 x 51.55 u 0 2 2 2 x u y = [1 0] 1 + [0 0] 1 x2 u2


Se realiza el diagrama de bloques, con el modelo de estado parametrizado indicado precedentemente, y se obtiene el diagrama de la figura 269.

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

En esta simulacin se aplica en

t = 0 seg

al servomotor, una tensin escaln de 90 Volt.

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.

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

Pg.

355

m ()vacio = 180.4 rad seg (1723 rpm)


ia ()vacio = 1.595 A
Para ver la dinmica de la corriente de armadura y la velocidad angular se recogen dichas seales en un Scope. Los resultados obtenidos se muestran en la figura 270.

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

t = 0.60 seg , y con tensin nominal de armadura ea = 90 V .

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

m ()TL =0.5 = 168.6 rad seg (1610 rpm)


ia ()TL =0.5 = 2.60 A
Ing. A. M. Mariani rea Control--Dtos. Electrnica y Elctrica -- Universidad Tecnolgica Nacional FRBA y FRH.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

También podría gustarte