You are on page 1of 10

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN CONTROL Y AUTOMATIZACION

LABORATORIO DE TEORIA DE CONTROL I

ALUMNA: Bez Capula Miriam Azucen

PROFESOR: Villanueva Magaa Francisco Javier

Fecha de realizacin de la prctica: 20 - septiembre -2013 Fecha de entrega: 23 septiembre - 2013

PRACTICA No. 1 INTRODUCCIN A MATLAB

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

OBJETIVO Tener un conocimiento sobre qu son los lenguajes de programacin y qu es Matlab, as como sus componentes. Conocer cmo crear matrices en matlab y utilizar los comandos para las operaciones de matrices. Desarrollar y estructurar programas con sentencias.

JUSTIFICACION Es importante tener un conocimiento de este programa ya que es muy utilizado a lo largo de los cursos de la carrera de ICA ya que debemos saber programar con el fin de desarrollar aplicaciones que brinden soluciones a problemas de ingeniera.

MARCO TERICO En el estudio de la ingeniera en control es necesario contar con un programa que nos ayude para realizar clculos numricos, simulacin de sistemas y visualizacin de datos, MATLAB (matrix laboratory) es un sistema interactivo cuyo elemento bsico, como su nombre lo indica, es la matriz. Contiene muchas herramientas y utilidades que permiten adems diversas funcionalidades, como la presentacin grfica en 2 y 3 dimensiones. stas estn agrupados en "paquetes" (toolboxes). Matlab es un programa commanddriven, es decir, que se introducen las rdenes escribindolas una a una a continuacin del smbolo (prompt) que aparece en una interfaz de usuario (una ventana). Programado originalmente por Cleve Moler a finales de los a os 70, su finalidad original era proporcionar una forma sencilla de acceder a las libreras LINPACK y EISPACK donde estn implementadas de una forma altamente eficiente los algoritmos clave del anlisis matricial. Su primera implementacin se hizo en Fortran que era el lenguaje estndar en la implementacin de mtodos numricos. Posteriormente se reimplement en C, que es como se encuentra en la actualidad. Las aplicaciones de Matlab se fueron extendiendo a otras ramas del clculo cientfico y de las ciencias aplicadas en general. Entre sus utilidades, se encuentran: Clculo matricial y Algebra lineal. Polinomios e interpolacin. Regresin. Ajuste de funciones. Ecuaciones diferenciales ordinarias. Integracin. Funciones. Grficos bidimensionales y tridimensionales.

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Adems se encuentran disponibles los mdulos (toolboxes) Optimizacin. Procesamiento de seales. Ecuaciones en derivadas parciales. Simulink: Simulacin no lineal. Componentes de MATLAB. Matlab consta de cinco partes fundamentales: 1. Entorno de desarrollo. Se trata de un conjunto de utilidades que permiten el uso de funciones Matlab y ficheros en general. Muchas de estas utilidades son interfaces grficas de usuario. Incluye el espacio de trabajo Matlab y la ventana de comandos. 2. La librera de funciones matemticas Matlab. Se trata de un amplio conjunto de algoritmos de clculo, comprendiendo las funciones ms elementales como la suma, senos y cosenos o la aritmtica compleja, hasta funciones ms sosfisticadas como la inversin de matrices, el clculo de auto valores, funciones de Bessel y transformadas rpidas de Fourier. 3. Grficos. Matlab dispone de un conjunto de utilidades destinadas a visualizar vectores y matrices en forma de grficos. Existe una gran cantidad de posibilidades para ajustar el aspecto de los grficos, destacando la visualizacin tridimensional con opciones de iluminacin y sombreado y la posibilidad de crear animaciones. 4. El interfaz de aplicacin de Matlab (API). Consiste en una librera que p escribir programas ejecutables independientes en C y otros lenguajes, accediendo, mediante DLLs, a las utilidades de clculo matricial de Matlab.

DESARROLLO DE LA PRCTICA. 1. INVESTIGAR:

Responda adecuadamente lo siguiente: 1.1 Qu es Matlab? Es un lenguaje de alto funcionamiento para computacin tcnica, Este integra computacin, visualizacin, y programacin, en un entorno fcil de usar donde los problemas y las soluciones son expresados en la ms familiar notacin matemtica. 1.2 Qu es un lenguaje de programacin?

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Es un lenguaje que puede ser utilizado para controlar el comportamiento de una mquina, particularmente una computadora y consiste en un conjunto de reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos. 1.3 Cul es la diferencia entre Matlab y un lenguaje de programacin? Matlab no es un lenguaje de programacin ya que es un entorno de simulacin y anlisis matemtico. Incluye funciones en cajas de herramientas 1.4 Describa al menos 5 paquetes profesionales de simulacin diferente de Matlab. Octave.- programa para realizar clculos numricos, est escrito en c++ y tiene un intrprete de su propio lenguaje (de sintaxis similar a Matlab), y permite una ejecucin interactiva. Yurix.- es un Entorno de desarrollo libre de modelos matemticos. Brinda la posibilidad de realizar grandes clculos numricos aplicados en una gran cantidad de ramas de la ciencia. Scilab.- tiene un entorno similar a Simulink para simulacin de sistemas dinmicos y resolucin de sistemas de ecuaciones diferenciales. Este entorno posee varios paquetes que incluye algunas herramientas para simulacin sencilla de circuitos elctricos y termo hidrulica. Se utiliza el siguiente comando: xcos LabVIEW.- plataforma y entorno de desarrollo para disear sistemas, con un lenguaje de programacin visual grfico. Recomendado para sistemas hardware y software de pruebas, control y diseo, simulado o real y embebido, pues acelera la productividad. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje grfico. Python.- este programa cuenta con varias extensiones como Numpy que le agregan mayor soporte para vectores y matrices, constituyendo una biblioteca de funciones matemticas de alto nivel para operar con esos vectores o matrices. MATLAB y NumPy/SciPy tienen mucho en comn. Fueron creados para clculos numricos y cientficos con Python, no para ser clones de Matlab.

1.5 Describa al menos 5 lenguajes de programacin diferente de C/C++. a) JavaScript. Es un lenguaje de programacin del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayora de los navegadores modernos, es el ms utilizado. Est orientado a objetos, basado en prototipos, imperativo, dbilmente tipado y dinmico. b) Python. lenguaje de programacin multiparadigma, ya que soporta orientacin a objetos, programacin imperativa y, en menor medida, programacin funcional. Es un lenguaje interpretado, usa tipado dinmico y es multiplataforma. Una caracterstica importante de Python es la resolucin dinmica de nombres; es decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin del programa (tambin llamado enlace dinmico de mtodos). c) Pascal. Programacin estructurada y diseo descendente, adems es predecesor de otros lenguajes ms modernos, como MODULA-2 y ADA.

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

d) Cobol. Lenguaje universal para aplicaciones comerciales como expresa su nombre (COmmon Business Oriented Language). Entre sus caractersticas es que es parecido al ingls, es auto- documentado y tiene gran capacidad en el manejo de archivos, as como en la edicin de informes escritos. Entre sus inconvenientes estn sus rgidas reglas de formatos de escritura, la necesidad de describir todos los elementos al mximo detalle, la extensin excesiva en sus sentencias e incluso duplicacin en algunos casos, la inexistencia de funciones matemticas y, por ltimo, su no adecuacin a las tcnicas de programacin estructurada. e) Fortran. Frmula Translator (traductor de frmulas.) Es un lenguaje especializado en aplicaciones tcnicas y cientficas, caracterizndose por su potencia en los clculos matemticos, pero estando limitado en las aplicaciones de gestin, manejo de archivos, tratamiento de cadenas de caracteres y edicin de informes. La ltima versin incluye adems instrucciones para el manejo de cadenas de caracteres y de archivos, as como otras para la utilizacin de tcnicas de programacin estructurada. Estas caractersticas hacen que el lenguaje tambin sea vlido para determinadas aplicaciones de gestin.

2. MATLAB: Investigue en extenso, describa y realice un diagrama personal para cada uno de los puntos siguientes: 2.1 Funciones para introducir funciones desde teclado (con formato y sin formato). Para introducir funciones desde teclado, tenemos la sentencia input, que funciona de la siguiente manera:
>>variable=input('Ingrese el valor de la variable: ') El comando fprint nos permite tener todava ms control sobre las salidas

2.2 Captura de arreglos multidimensionales. Podemos crear un arreglo multidimensional de la misma forma que una matriz de dos dimensiones. Pero Matlab ofrece una concatenacin especial que es muy til para realizarlos. a) Una forma de crear arreglos multidimensionales es creando un arreglo de dos dimensiones y extendindolo. Por ejemplo:
A = [5 7 8; 0 1 9; 4 3 6];

A es una matriz 3x3 y podemos aadir una dimensin ms usando:

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

A(:,:,2) = [1 0 4; 3 5 6; 9 8 7]

b) Para extender A en cualquier dimensin: Incrementar o aadir el subndice apropiado y designar los valores deseados. Asignar el mismo nmero de elementos correspondientes a las dimensiones del arreglo. Para arreglos numricos, todas las filas deben tener el mismo nmero de elementos, todas las pginas deben tener el mismo nmero de filas y de columnas.
A(:,:,3) = 5

c) Generando arreglos usando las funciones de Matlab Podemos usar las funciones de Matlab como randn, ones y zeros para crear arreglos multidimensionales. Cada argumento que suministramos representa el tamao de la dimensin correspondiente en el arreglo resultante. Por ejemplo para crear un arreglo de 4 por 3 por 2 por nmeros aleatorios:
C = randn(4,3,2)

Para hacer un arreglo con una sola constante usamos repmat. sta funcin repite un arreglo (en este caso un 1 por 1) sobre un vector de las dimensiones de la matriz.
C = repmat(6, [3 4 2])

d) La funcin cat es una manera simple del crear arreglos multidimensionales, sta concatena una lista de matrices a travs de una dimensin especfica.
D = cat(dim, A1, A2...)

Donde A1, A2, etctera son matrices concatenadas y dim es la dimensin por la cual se concatenan las matrices. Por ejemplo para crear una nueva matriz (arreglo) con cat:
D = cat(3, [2 8; 0 5], [1 3; 7 9])

2.3 Graficacin de datos Graficas simples. Primero se crean los valores para el eje horizontal X (variable independiente); a continuacin se calcula el eje vertical Y (variable dependiente); la orden plot genera la grfica:
>>plot(x,y)

Para una grfica de salida. Como entrada, esta funcin necesita conocer el nombre de la funcin como una cadena de caracteres y el rango de representacin como un array de dos elementos:
>>fplot('nombre',[a,b])

2.4 Instrucciones, for (simple y anidado), if-else (simple y anidado), while, switch, break. FOR SIMPLE

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Su estructura general es: for k=n1:incremento:n2 (Comandos a ejecutarse) end FOR ANIDADO Pueden anidarse dos o ms ciclos for... end, uno dentro de otro. En cualquier momento del programa si repetir un ciclo ms de una vez. Considerar el ciclo interno como uno que se repetir ms veces que el ciclo externo. S el valor lmite del ciclo externo es 4 y el valor lmite del ciclo interno es 10 , el ciclo interno se ejecutar cuarenta veces, porque la variable interno va de 1 al 10 y la externo va del 1 al 4. IF SIMPLE

Permiten controlar si una parte del programa se ejecuta o no dependiendo de una determinada condicin. Existen varias estructuras: If simple: if (condicin) (comandos que deben ejecutarse) end Si (condicin) es verdadera, se ejecutan los comandos entre if y end. Si (condicin) es falsa, se continua en la sentencia despus de end. IF ANIDADO

If-elseif if (condicin1) (Comandos que se ejecutan si (condicin1) es verdadera) else if (condicin2) (Comandos que se dan si (condicin2) es verdadera) end Si (condicin1) es verdadera, se ejecutan los comandos entre if y elseif. Si (condicin2) es verdadera, se ejecutan los comandos entre else if y end. Puede haber varios elseif. WHILE

While (condicin) (comandos que se ejecutan mientras (condicin) sea cierta) end Se ejecutan los comandos entre while y end, mientras que (condicin) sea verdadera. La estructura es la de un laso, pero en vez de un contador tenemos una condicin. SWITCH

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Es til cuando tenemos varios if anidados. El comando switch evala una variable, y en funcin del valor de dicha variable, realiza un conjunto de acciones u otro. En el siguiente ejemplo, la variable a es evaluada por switch en la primera lnea del cdigo. Si el valor de la variable a es 1, se realizan las operaciones incluidas en el apartado case 1, si el valor de la variable a es 2, se realizan las operaciones incluidas en el apartado case 2. Si la variable no toma ninguno de los valores especificadosen los distintos case se ejecutan las rdenes que aparecen en el apartado otherwise. BREAK

El enunciado break permite terminar la ejecucin de un lazo for o while antes de que se cumplan las condiciones. Cuando se encuentren lazos anidados, el enunciado break sale del lazo ms interno. . 2.5 Uso de archivos .m Para crear un archivo .m nuevo hacemos clic sobre la representacin de una hoja en blanco, que sirve para crear un nuevo archivo.

Una vez escrito el programa, se guarda con el nombre deseado (siempre y cuando no sea una funcin ya que entonces hay que guardarlo con el mismo nombre) y la extensin en que se guarda es .m

2.6 Uso de funciones Existen dos tipos de funciones: las funciones inline, que se insertan en la lnea de comandos y las que se escriben en un documento de texto externo, es decir en un fichero script. . 2.7 Uso bsico de Simulink (sistemas lineales)

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Interfaz grfico para el modelado y simulacin de sistemas. Es una extensin de MATLAB para la simulacin de sistemas dinmicos. Al ser un entorno grfico, resulta bastante sencillo de emplear. Para ejecutar Simulink, podemos teclear simulink desde MATLAB, o bien desde el icono, en la barra de herramientas de MATLAB. Nos aparecern dos ventanas: una con las libreras de Simulink, y otra en blanco donde construiremos nuestro nuevo modelo.

2.8 Uso bsico de del Control Systems Toolbox (funcin de transferencia, espacio de estado, seales de prueba, etc). Control System Toolboxes es un componente de Matlab que consta de una serie de funciones, objetos, bloques, Simulink y herramientas destinados a la asistencia en el anlisis y diseo de sistemas de control. Ejemplo: Sistema formado por tres bloques independientes: G1(s), que representa el controlador, G2 (s), que corresponde a la planta a controlar, y G3 (s), la funcin de transferencia del sensor con el que se mide la salida del sistema. Los valores de las tres funciones son:

2.9 Intercambio y comportamiento de datos entre Matlab y Simulink. La comunicacin entre el modelo de Simulink y el espacio de trabajo de Matlab se realiza a travs de dos tipos distintos de S-function realizadas sobre lenguaje C. Se utiliza las Matlab API para acceder al entorno de Matlab, en concreto las C MEXFunctions. Una vez escrita la S-function se debe de compilar desde Matlab. Ej: mex entrada.c, obtenemos entrada.dll. El intercambio de datos con el espacio de trabajo de Matlab se realiza sobre la base de las libreras Engine de las Matlab API, ademas de las C MX-Functions tambin de las Matlab API para el manejo de variables mxArray. La rutina principal (Rutina_ppal) es la encargada de realizar esta comunicacin, de la misma manera que se encarga de la comunicacin con el Servidor OPC. Se realizan en la rutina principal dos bucles: el primero, que actualiza los valores de entrada a Matlab con los que modifica el cliente OPC, y el segundo, que actualiza recoge los valores de salida de Matlab para ofrecerlos a travs del servidor OPC. De momento explicaremos la comunicacin en ambas rutinas con el entorno Matlab . 2.10 Uso bsico del Symbolic Toolbox

Teora de Control I

PRCTICA N1

Bez Capula Miriam Azucena

Sirve para realizar tareas de: modelado, conversin de modelos y anlisis de respuesta temporal, frecuencial y en espacios transformados. Permiten representar los sistemas LTI mediante 4 modelos diferentes en los espacios transformados (s para sistemas continuos y z para sistemas discretos):

3 ELABORACIN DE PROGRAMAS USANDO MATLAB Programas en archivo adjunto .rar RESULTADOS Los resultados del desarrollo de la prctica se muestran en el archivo adjunto donde se encuentra cada programa en archivo .m, al ejecutarlo podemos notar que todos y cada uno funcionan correctamente.

4 CONCLUSIONES Realizar esta prctica fue muy til para familiarizarse de nuevo con el entorno de Matlab as como aprender a usar simulink, conocer cules son sus extensiones y componentes. En cuanto a la parte prctica pudimos realizar diferentes problemas bsicos de matrices y recordar varios comandos y sentencias que tambin se usan en los lenguajes de programacin. Adems aprendimos las distintas formas de capturar arreglos multidimensionales y como usar distintos comandos.

5 REFERENCIAS Y BIBLIOGRAFIA Mtodos numricos Teora, probelmas y prcticas con MATLAB. Infante del Ro J-A. & Rey Cabezas J. M. 2da Edicin - Pirmide. 2002. [Internet] http://es.wikibooks.org/wiki/Matlab http://www.mathworks.com/

You might also like