Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 1 de 12 CLASE 1 INTRODUCCIÓN A MATLAB MATLAB es un software de computación técnica de alto nivel que integra cómputo, visualización y programación en un entorno fácil de usar, donde los problemas y las soluciones se expresan en notación matemática muy familiar. Las aplicaciones típicas incluyen: Matemáticas y computación Algoritmos de desarrollo Adquisición de datos Modelado y simulación Análisis de datos, exploración y visualización Ciencias e Ingenierías Gráficas Desarrollo de aplicaciones, incluyendo la creación de interfaz gráfica de usuario MATLAB es un sistema interactivo cuyo elemento básico de datos es una matriz que no requiere dimensionamiento. Le permite resolver muchos problemas de computación técnica, especialmente aquellos con formulaciones de matrices y el vectores, en una fracción del tiempo que se tardaría en escribir un programa en un lenguaje escalar no interactivo como C o Fortran. El nombre MATLAB es sinónimo de matrix laboratory. MATLAB fue escrito originalmente para proporcionar un acceso fácil al software matricial desarrollado por los proyectos de LINPACK y EISPACK. Hoy en día, los motores de MATLAB incorporan las bibliotecas LAPACK y BLAS, incrustando el estado del arte en un software de computación matricial. MATLAB ha evolucionado a lo largo de un período de años con el aporte de muchos usuarios. En los ambientes universitarios, que es la herramienta estándar de enseñanza para los cursos introductorios y avanzados en matemáticas, ingeniería y en ciencias. En la industria, MATLAB es la herramienta de elección para la investigación de alta productividad, para el desarrollo y análisis. MATLAB ofrece una familia de complementos específicos de soluciones de aplicación llamadas cajas de herramientas (toolboxes). Estas cajas de herramientas le permiten aprender y aplicar tecnologías especializadas. Cajas de herramientas son colecciones completas de funciones de MATLAB (M-files) que extienden el entorno MATLAB para resolver clases particulares de problemas. Hay cajas de herramientas para el procesamiento de señales, sistemas de control, redes neuronales (neural networks), lógica difusa (fuzzy logic), ondas, simulación, y muchas otras áreas.
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 2 de 12 Entorno de Matlab Al ejecutar MATLAB por primera vez aparecerá una ventana similar a la mostrada: Se pueden resaltar algunas partes de esta ventana: Barra de menú: Barra de Iconos: Barra de Dirección: Barra de Accesos Directos: Barra de Estado:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 3 de 12 Directorio Actual y Espacio de Trabajo (Workspace): Historial de Comandos: Ventana de Comandos:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 4 de 12 De las partes más resaltantes, la ventana de comandos es la que se utilizará con mayor frecuencia ya que en ella se escribirán los comandos para realizar los diferentes cálculos y simulaciones. Uso de la ventana de comandos El prompt es el símbolo o caracteres que se muestra en la ventana de comandos e indica que MATLAB está a la espera de órdenes. Se identifica con los caracteres >>. A medida que se va familiarizando y trabajando con MATLAB irá conociendo y usando nuevas funciones, por los momentos nos conformaremos con utilizar algunas de ellas muy básicas. Definición de variables (matrices) En MATLAB toda variable es una matriz, para definir una variable primero se escribe el nombre de la variable, luego el signo de igualdad (=) y luego el valor que desean que tenga la variable. Por ejemplo, para definir una variable se puede escribir en la ventana de comandos lo siguiente ( >> es el símbolo del prompt, no se requiere escribirlo): Después de presionar la tecla ENTER, MATLAB procesa el comando y generará lo siguiente: Observen que con este comando se crea una variable llamada a con valor de 1. En el Workspace debe aparecer la nueva variable creada.
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 5 de 12 En el historial de comandos se almacenan todos los comandos que se escriben en la ventana de comandos. Si se escribe ahora lo siguiente, se cambiará el valor de la variable a al nuevo valor, por lo que si no se quiere que ocurra esto, debe crear otra variable. Comando Resultado del comando: Luego de presionar la tecla ENTER se procesa el comando y MATLAB devuelve un resultado. A partir de ahora se asumirá que luego de escribir el comando se presionará la tecla ENTER, lo que aparece después de la línea del prompt >> es el resultado que genera MATLAB. Se pueden crear tantas variables se requieran, lo nombres de las variables no pueden empezar por un número o por algún carácter especial como por ejemplo (_,. ( ) % $ # @ < > : ; ), se pueden nombrar variables utilizando el guión bajo (_) pero después de una letra, como por ejemplo: Se darán cuenta que si escriben un comando erróneo o definen una variable incorrectamente, MATLAB generará un error: A partir de las variables previamente definidas, se pueden crear nuevas variables:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 6 de 12 Visualice en el Workspace las nuevas variables que se crean. En MATLAB toda variable es una matriz, las variables a, b y a_1 definidas anteriormente son matrices 1x1, es decir, 1 fila por 1 columna. Para definir un vector se deben utilizar los corchetes []. A continuación un ejemplo: Con este comando se crea un vector horizontal de cuatro elementos, es decir la variable A es una matriz 1x4. Observe que los elementos del vector se deben separar por espacios y encerrarlos entre corchetes. Una forma alternativa es separarlos por coma (,) como aparece a continuación: Para crear nuevas filas se debe utilizar el separador punto y coma (;), a continuación un ejemplo donde se crea una variable B que contiene una matriz de 3x4 elementos, es decir, 3 filas por 4 columnas: Para crear un vector vertical, los elementos deben separarse obligatoriamente con punto y como, por ejemplo:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 7 de 12 También se puede crear un vector horizontal y transponerlo (cambiar filas por columnas) utilizando el apóstrofe ('), como por ejemplo: En MATLAB para multiplicar se utiliza *, para dividir /, para sumar +, para restar -, para elevar a una potencia ^. En muchos casos se requiere crear arreglo de datos consecutivos muy extensos, MATLAB permite crear este tipo de arreglos de una forma muy sencilla, por ejemplo, para crear un arreglo de elementos consecutivos comenzando en 1 y terminando en 10 se puede escribir: Obsérvese que si un arreglo de este tipo posee muchos elementos, no todos se mostrarán en una línea, MATLAB mostrará lo siguiente: Se pueden crear arreglos consecutivos separando cada elemento por un valor particular, por ejemplo:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 8 de 12 Ahora, si lo que se quiere es crear un arreglo de elementos consecutivos para utilizarlo posteriormente, que MATLAB muestre el resultado es realmente irrelevante siempre y cuando se defina correctamente. Para ocultar el resultado de una operación en la ventana de comandos se puede escribir al final de la línea del comando un punto y coma, de esta forma no se mostrará el resultado pero si se procesará. Por ejemplo: En este caso se creó un vector horizontal de 1000 elementos consecutivos desde el 1 hasta el 1000 pero no se mostró el resultado. Si desea verificar que el vector se creó, puede visualizar el Workspace. También puede escribir el comando whos en la ventana de comandos, MATLAB listará todas las variables creadas e indicará el tamaño de cada una. Observen que la ventana de comandos se llena de información en muchos casos irrelevante o innecesaria, si se desea borrar el contenido de la ventana de comandos se puede escribir el comando clc y posteriormente presionar la tecla ENTER. A partir de arreglos de datos como el creado anteriormente se pueden generar otros arreglos relacionados, por ejemplo, si se desea crear una función temporal f ( t) = 25sin( ωt), se debe definir un vector de tiempos, luego a partir de este vector definir la función, se procedería de la siguiente forma: La primera línea define un vector de tiempo desde 0 hasta 0.05, la segunda línea define la función sinusoidal de amplitud 25 y frecuencia 2π 60, MATLAB posee constantes previamente
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 9 de 12 definidas como por ejemplo pi = π = 3. 1416, la tercera línea grafica la función f vs t, se mostrará el siguiente gráfico. 25 20 15 10 5 0-5 -10-15 -20-25 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 Este gráfico se puede modificar, por ejemplo, escribiendo estos comandos, se grafica la función de color rojo con un punto como marcador, se le agrega el nombre al eje horizontal con xlabel, al eje vertical con ylabel, se agregar un título con title y se agrega una leyenda con legend. 25 20 15 Gráfica de f(t)=25sin(wt) f(t) 10 voltaje(v) 5 0-5 -10-15 -20-25 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 tiempo(seg)
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 10 de 12 MATLAB posee una gran cantidad de funciones matemáticas, como por ejemplo la función seno (sin), a continuación una breve lista de diversas funciones: Seno sin Coseno cos Tangente tan Arco seno asin Arco coseno acos Arco tangente atan Exponencial exp Raíz Cuadrada sqrt Valor Absoluto abs Logaritmo natural log Logaritmo base 10 log10 Etc. Para obtener una lista de las funciones y la forma de usarlas puede buscar en la ayuda de MATLAB o en el menú Help en la barra de menú, también puede escribir en Ventana de Comandos la palabra help. Para buscar la ayuda especifica de una función, por ejemplo se puede escribir:
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 11 de 12 Generalmente aparecen ejemplos del uso de la función los cuales se pueden copiar y ejecutar y luego cambiar a conveniencia de lo que se pretende hacer. También aparecerá un listado con funciones relacionadas a la función buscada ver donde dice See also (ver también). Si se desea obtener gráficas de funciones rápidamente se puede utilizar el comando ezplot de la siguiente forma: 1/x 1.5 1 0.5 0-0.5-1 -1.5-6 -4-2 0 2 4 6 x x 2 +8 x-3 80 60 40 20 0-20 -6-4 -2 0 2 4 6 x
Prof. Alexander Hoyo Clase 1 Introducción a MATLAB pág. 12 de 12 sin(x)/x 1 0.8 0.6 0.4 0.2 0-0.2-10 -8-6 -4-2 0 2 4 6 8 10 x En este caso se le especifico los límites en x desde -10 hasta 10. 1.5 a 2 +b 2 =1 1 0.5 b 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 a Para usar este comando no se requiere definir ningún vector de tiempo o vector de coordenadas en x ya que se escribe la expresión que se pretende graficar de forma simbólica. Se recomienda profundizar en el tema ya que estas guías están enfocadas al uso de MATLAB para el análisis de Sistemas de Control, lo que se muestra en esta primera clase es solo una Introducción a MATLAB. La Clase 2 se darán los comandos para determinar transformadas de Laplace, definición de funciones de transferencia, interconexión de funciones de transferencia, entre otros aspectos.