Tutorial graficos en_matlab

342 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
342
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tutorial graficos en_matlab

  1. 1. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 1 Instituto Politécnico Nacional. E.S.I.M.E Unidad Profesional Ticomán. Academia de ciencias básicas. Ing. Julio César Millán Díaz. Tutorial para gráficos bidimensionales en MATLAB. 1.- Introducción. En la actualidad existen diversos manuales, materiales de apoyo y tutoriales oficiales y no - oficiales para la utilización de MATLAB alojados en la red, de los cuales destacan dos elementos de aplicación: La manipulación matricial y el entorno grafico bidimensional. El tutorial que aquí propongo tiene como principal objetivo desarrollar la competencia de manipulación del entorno grafico (Bidimensional) de MATLAB para resolver problemas relacionados con ingeniería. A partir del desarrollo de 3 actividades el usuario explorara e identificara el entorno que ofrece MATLAB para la construcción de gráficos bidimensionales, dichas actividades están estructuradas de tal forma que puedan ser ejecutadas desde la ventana de comandos o si se prefiere desde la ventana de edición que ofrece MATLAB. La primera actividad consiste en la generación de un grafico partiendo de la definición de función para crear un grafico cartesiano. La segunda actividad está basada en el uso de una librería para la graficación de funciones. 2.- Acerca de MATLAB: Figura 1 MATLAB es una herramienta computacional sofisticada que se utiliza para la resolución de problemas basados en modelación matemática, MATLAB es la abreviatura de Matrix Laboratory y fue desarrollado por la empresa Mathworks. Dicho programa destaca en cálculos numéricos y simbólicos, especialmente en los relacionados con matrices y gráficos, para mayor información consulte: http://www.mathworks.com Comentario [VeC1]: MATLAB para ingenieros. Holly Moore. McGraw Hill.
  2. 2. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 2 3.- El entorno de MATLAB. Figura 2 Las configuraciones del entorno pueden variar según la versión de MATLAB qué se disponga, pero en términos generales el escritorio contiene los siguientes elementos: 1.- Ventana de comando (Command Window): Este espacio ofrece un ambiente similar a una memoria de trabajo auxiliar (scratch pad), dicho espacio puede utilizare de manera expresa para la realización de rutinas y consulta de librerías. 2.- Ventana del área de trabajo (Workspace): Este espacio mantiene informado al usuario de las variables y arreglos definidas por el usuario en la manipulación de MATLAB. 3.- Ventana de directorio actual (Current Folder): Este espacio lista todos los archivos en una carpeta de la computadora para facilitar la búsqueda de archivos que comparten extensión con MATLAB. 4.- Historial de comandos (Command History): Este espacio registra todos los comandos que se escriben sobre la ventana de comandos desde la instalación de MATLAB en ese equipo. 13 2 4
  3. 3. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 3 4.- Actividad 1: Grafico con arreglos vectoriales. Una función f es una regla que asigna a cada elemento x de un conjunto D exactamente un elemento, llamado f(x), de un conjunto E. Figura 3 El conjunto D se llama dominio de la función. El numero f(x) es el valor de f en x y se lee “f de x”. El rango de f es el conjunto de todos los valores posibles de f(x), conforme x varia en todo el dominio. Un símbolo que representa un número arbitrario en el dominio de una función f se llama variable independiente. Un símbolo que representa un número en el rango de f se llama variable dependiente. Construya una representación grafica de la función f(x) = x en MATLAB en un rango comprendido entre -4 hasta +4 con un tamaño de paso de 0.5.  Construya un vector con las siguientes características: Figura 4 Figura 5  A partir de la definición de función podemos comparar al conjunto A con el vector x, de tal forma que necesitamos una relación correspondiente al conjunto B que denotaremos como y. vector=[inicio:incremento:final] Comentario [VeC2]: Cálculo de una variable. James Stewart. Sexta Edición. CENGAGE Learning. Comentario [VeC3]: La instrucción puede insertarse de forma directa desde la ventana de comandos, insertar punto y coma (;) al final de la instrucción permite ejecutarla sin mostrar el contenido en la ventana principal. Comentario [VeC4]: Después de ejecutar el arreglo, de forma inmediata se almacenara el mismo en la ventana del área de trabajo.
  4. 4. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 4 Figura 6 Figura 7  La función PLOT crea un grafico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes; con ayuda de esta librería, construiremos un diagrama de dispersión por pares ordenados en color rojo y utilizando un tipo de muestra en forma de cuadrado hueco. Descripción del comando plot( conjunto A, conjunto B, ‘color del grafico Tipo de muestra’) Instrucción para gráficos. Vector pertinente a la variable independiente. Vector pertinente a la variable dependiente. Colores disponibles en MATLAB. b Blue g Green r Red c Cyan m Magenta y Yellow k Black w White Tipo de coordenadas para muestreo. . Dot o Circle x x-mark + Plus * Star s Square d Diamond v Triangle (down) ^ Triangle (up) < Triangle (left) > Triangle (rigth) p Pentagram Comentario [VeC5]: x es de la misma proporción que y debido a la relación lineal que existe entre los dos conjuntos. Comentario [VeC6]: Aprenda MATLAB como si estuviera en primero. García de Jalón, Rodríguez y Vidal. Escuela Técnica Superior de Ingenieros Industriales, Universidad Politécnica de Madrid. Diciembre de 2005. Comentario [VeC7]:
  5. 5. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 5 h Hexagram - Solid : Dotted -. Dashdot -- Dashed Tabla 1 -4 -3 -2 -1 0 1 2 3 4 -4 -3 -2 -1 0 1 2 3 4 Figura 8 -4 -3 -2 -1 0 1 2 3 4 -4 -3 -2 -1 0 1 2 3 4 Figura 9 Algo importante que quiero resaltar en este momento es que completamos todos los rubros según la sugerencia en la descripción del comando, pero, si hubiéramos completado el comando PLOT solo con los dos vectores que describen la función lineal, tendríamos la perspectiva de la figura 10. Comentario [VeC8]: Después de ejecutar la librería desde la ventana de comandos se obtiene la perspectiva de la figura Comentario [VeC9]: Activamos la rejilla (grid on), para colocar una referencia sobre el diagrama de dispersión.
  6. 6. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 6 -4 -3 -2 -1 0 1 2 3 4 -4 -3 -2 -1 0 1 2 3 4 Figura 10 MATLAB construye el grafico sin importar algunas consideraciones importantes como son: el tipo y el color de la muestra, a diferencia de la figura 9, esta última perspectiva, muestra la dispersión en forma de líneas continuas de color azul, estas son las consideraciones que MATLAB sugiere de manera automática; de lo cual surge la siguiente pregunta. ¿Cómo debe hacerse para que podamos combinar la perspectiva de la figura 9 y 10? Intente maginar la siguiente situación: se hace una gráfica de líneas continuas de la dispersión lineal en una hoja de papel común y corriente, después, sobre la grafica de líneas continuas empalmamos las misma grafica de dispersión pero en forma de nube de puntos o de pares ordenados que se dibujo sobre un acetato convencional, para combinar graficas sobre la misma ventaja de trabajo solo necesitamos retener la primera grafica con la instrucción HOLD ON (Mantener en espera), repetimos la rutina como se muestra en la figura 11. Figura 11 -4 -3 -2 -1 0 1 2 3 4 -4 -3 -2 -1 0 1 2 3 4 Figura 12
  7. 7. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 7 Construya una representación grafica de la función f(x) = x2 en MATLAB en un rango comprendido entre -4 hasta +4 con un tamaño de paso de 0.5.  La siguiente grafica se desarrollara desde un M-file ó Script para estructurar una rutina de una manera más eficiente. Figura 13 Figura 13 Figura 14 La rutina en el M-FILE que realiza el grafico bidimensional de la función f(x)=x2 , se muestra en la tabla 2. Comentario [VeC10]: La dirección para crear un M-file es: FILE>NEW>SCRIPT ó utilizando el atajo: CRT+N. Comentario [VeC11]: Editor de rutinas en MATLAB.
  8. 8. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 8 Función Descripción de la línea clc,clear Limpiar pantalla, limpiar espacio de trabajo para borrar todas las variables existentes. x=[-4:0.5:4]; Crea un vector x con inicio en -4 hasta 4 con un incremento de 0.5. y=x.^2; Crea el vector y que toma cada valor contenido en x para elevarlo al cuadrado (Es importante utilizar el operador .^), crea un vector de la misma dimensión de x pero representa el cuadrado de dicho vector. plot(x,y,'ro') Crea un gráfico cartesiano bidimensional entre los vectores x y y, con una muestra en círculos de color rojo. grid on Inserta una rejilla sobre el gráfico. hold on Retiene en la ventana principal el grafico generado. plot(x,y,'k') Crea un gráfico cartesiano bidimensional entre los vectores y y y, en una dispersión continua de color negro. Tabla 2 Después de ingresar la rutina desde el M-File. Figura 15 Si el archivo no se ha guardado con anterioridad, el software obliga al usuario a guardar la rutina antes de poder ejecutarse, es aquí donde es necesario atender las siguientes recomendaciones: NO UTILIZAR ESPACIOS PARA SEPARAR CADENAS DE CARACTERES EN EL NOMBRE DEL ARCHIVO, NO UTILIZAR NUMEROS EN EL NOMBRE DEL ARCHIVO Y POR ULTIMO NO UTILIZAR NOMBRES ASOCIADOS CON LIBRERIAS O COMANDOS DE MATLAB, ESTO ULTIMO PODRIA OCASIONAR LA PERDIDA DEL COMANDO DENTRO DEL SOFTWARE. Comentario [VeC12]: Se tienen dos opciones para correr la rutina, ó se ejecuta la rutina desde el depurador con la ruta señalada en la figura 15 ó podemos ejecutar la rutina utilizando el atajo: F5.
  9. 9. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 9 Figura 16 Inmediatamente después de ejecutar la rutina, el software muestra la siguiente perspectiva del grafico. -4 -3 -2 -1 0 1 2 3 4 0 2 4 6 8 10 12 14 16 Figura 17 Comentario [VeC13]: La figura 16, muestra la perspectiva de la ventana que proporciona el software para guardar documentos o rutinas en MATLAB en la carpeta que se asigna predeterminadamente, es importante recordar las recomendaciones hechas con anterioridad.
  10. 10. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 10 4.- Actividad 2: Grafico con funciones. La función FPLOT crea un grafico bidimensional para ecuaciones de la forma y=f(x), donde x es un vector especificado en los limites que el usuario define, y y es un vector del mismo tamaño de x, y contiene el valor de la función en todos los puntos de x. Descripción del comando fplot( ‘función’, [valor inicial, valor final, ‘color y tipo de muestra’] Instrucción para gráficos con funciones. Ecuación de tipo explicita. Funciones trigonométricas acos Coseno inverso en radianes. acosd Coseno inverso en grados. acosh Coseno hiperbólico inverso. acot Cotangente inversa en radianes. acotd Cotangente inversa en grados. acoth Cotangente inversa hiperbólica. acsc Cosecante inversa en radianes. acscd Cosecante inversa en grados. acsch Cosecante hiperbólica inversa. asec Secante inversa en grados. asecd Secante inversa en grados. Valor inicial para el grafico. Valor final para el grafico. Al igual que en la función PLOT, se elige el color y tipo de muestra para la dispersión. Comentario [VeC14]: Desde la ventana de comandos: help fplot.
  11. 11. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 11 asech Secante hiperbólica inversa. asin Seno inverso en radianes. asind Seno inverso en radianes. asinh Seno hiperbólico inverso. atan Tangente inversa. atan2 Tangente inversa en los cuatro cuadrantes. atand Tangente inversa en grados. atanh Tangente inversa hiperbólica. cos Coseno en radianes. cosd Coseno en grados. cosh Coseno hiperbólico. cot Cotangente en radianes. cotd Cotangente grados. coth Cotangente hiperbólica. csc Cosecante en radianes. cscd Cosecante en grados. csch Cosecante hiperbólica. hypot Raíces de potencias o sucesiones. sec Secante en
  12. 12. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 12 radianes. secd Secante en radianes. sech Secante hiperbólica. sin Seno en radianes. sind Seno en grados. sinh Seno hiperbólico. tan Tangente en radianes. tand Tangente en grados, tanh Tangente hiperbólica. Funciones exponenciales exp Exponencial. expm1 Calcula el exponencial de x con valores precisos. log Logaritmo natural. log10 Logaritmo natural de base 10. log1p Logaritmo natural de base 10 con valores precisos. log2 Logaritmo natural de base 2. nextpow2 Calcula el exponente de2 en 2. nthroot La raíz enésima de los números
  13. 13. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 13 reales. pow2 Exponente de base 2 y escala de números de punto flotante. reallog Logaritmo natural de raíces reales no negativas. realpow Arreglos potenciales para valores reales positivos. realsqrt Raíz cuadrada de valores no negativos. sqrt Raíz cuadrada. Tabla 3 Construya un grafica en dos dimensiones para f(x)=seno(x) desde –pi hasta pi, utilizando la librería fplot. Para la construcción de esta rutina utilizaremos un archivo M, la rutina y la descripción de la misma se muestra en la tabla 4. Función Descripción de la línea clc,clear Limpiar pantalla, limpiar espacio de trabajo para borrar todas las variables existentes. fplot('sin(x)',[-pi,pi]) Realiza la grafica de la función seno de x, en un rango comprendido desde –pi hasta pi (La muestra es de tipo continua por una línea recta y el color predeterminado es el azul). title('GRAFICA DE LA FUNCION: "SENO DE X"') Esta instrucción inserta una etiqueta global en la figura principal.
  14. 14. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 14 xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de f(x): ') Coloca una etiqueta sobre el eje y. grid on Esta instrucción coloca una rejilla sobre la grafica. Tabla 4 Después de ejecutar la rutina, se muestra la siguiente perspectiva (Figura 18). -3 -2 -1 0 1 2 3 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 GRAFICA DE LA FUNCION: "SENO DE X" Valores de x: Valoresdef(x): Figura 18 5.- Actividad 2: Gráficos bidimensionales con subrutinas. Una ventana gráfica se puede dividir en m particiones horizontales y n verticales, con objeto de representar múltiples gráficos en ella. Cada una de estas subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma general de este comando es: subplot(m,n,i) Donde m y n son el número de subdivisiones en filas y columnas, e i es la subdivisión que se convierte en activa. Las subdivisiones se numeran consecutivamente empezando por las de la primera fila, siguiendo por las de la segunda. Comentario [VeC15]: Aprenda MATLAB como si estuviera en primero. García de Jalón, Rodríguez y Vidal. Escuela Técnica Superior de Ingenieros Industriales, Universidad Politécnica de Madrid. Diciembre de 2005.
  15. 15. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 15 Construya una grafica en una pantalla dividida en dos partes para colocar gráficamente la función seno(x) y coseno(x) desde –pi hasta pi, respectivamente, utilizando la rutina subplot. Figura 19 La rutina que propongo está diseñada para compilarse en un archivo M y está contenida en la tabla 5. Función Descripción de la línea clc,clear Limpiar pantalla, limpiar espacio de trabajo para borrar todas las variables existentes. subplot(2,1,1) Ejecuta una subrutina de graficación en 2 filas, una columna y se trabajara el primer elemento. fplot('sin(x)',[-pi,pi],'r') Grafica la función seno de x, desde –pi hasta pi en una dispersión continua de color rojo. grid on Inserta una rejilla sobre el grafico. hold on Retiene el grafico generado en la pantalla creada. xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de la función seno') Coloca una etiqueta sobre el eje y. title('Grafico con subrutinas: SUBPLOT') Coloca un encabezado a la subrutina 1. Comentario [VeC16]: Sugerencia.
  16. 16. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 16 subplot(2,1,2) Ejecuta una subrutina de graficación en 2 filas, una columna y se trabajara el segundo elemento. fplot('cos(x)',[-pi,pi]) Grafica la función coseno de x, desde –pi hasta pi en una dispersión continua en el color predeterminado (azul). grid on Inserta una rejilla sobre el grafico. hold on Retiene el grafico generado en la pantalla creada. xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de la función coseno') Coloca una etiqueta sobre el eje y. title('Grafico con subrutinas: SUBPLOT') Coloca un encabezado a la subrutina 2. Tabla 5 -3 -2 -1 0 1 2 3 -1 -0.5 0 0.5 1 Valores de x: Valoresdelafunciónseno Grafico con subrutinas: SUBPLOT -3 -2 -1 0 1 2 3 -1 -0.5 0 0.5 1 Valores de x: Valoresdelafuncióncoseno Grafico con subrutinas: SUBPLOT Figura 20
  17. 17. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 17 6.- Actividad 2: Resumen de las actividades. Diseñe una rutina en MATLAB que construya la grafica de cualquier función explicita en un rango definido por el usuario, después de graficar la función original en la primera subrutina, el programa graficara en dos subrutinas más: la derivada y la integral de dicha función, respectivamente, compile la rutina desde un M-File. Función Descripción de la línea clc,clear Limpiar pantalla, limpiar espacio de trabajo para borrar todas las variables existentes. syms x Crea una variable de tipo simbólico “x”. fun=input('Define la función que deseas trabajar: '); El usuario declara la función explicita que desee, dicha ecuación se acumulara en un arreglo llamado “fun”. func=char(fun); Convierte el arreglo “fun” en una cadena de caracteres y esta a su vez se convierte en “func”, esta ultima conversión le permitirá al usuario procesar a “func” para utilizar el comando fplot. disp('Define el rango de graficación') Despliega un mensaje dirigido al usuario en la pantalla principal. inicio=input('Define el valor inicial: '); El usuario define el valor inicial para graficar la función original, el valor se almacena en la variable “inicio”. final=input('Define el valor final: '); El usuario define el valor final para graficar la función original, el valor se almacena en la variable “final”. subplot(3,1,1) Construye la primera
  18. 18. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 18 subrutina de gráficos dividiendo la ventana principal en 3 filas, 1 columna y el primer elemento que se trabajara. fplot(func,[inicio,final]) Grafica la función que el usuario haya elegido en el rango comprendido entre el arreglo “inicio” y “final”. grid on Inserta una rejilla en la grafica. xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de la funcion: ') Coloca una etiqueta sobre el eje y. title('FUNCION ORIGINAL: ') Coloca un encabezado sobre la primera subrutina. subplot(3,1,2) Construye la segunda subrutina de gráficos dividiendo la ventana principal en 3 filas, 1 columna y el segundo elemento que se trabajara. der=diff(fun); Calcula la primera derivada de la función definida por el usuario, el resultado se almacena en el arreglo “der”. derivada=char(der); Convierte el resultado de la primera derivada a una cadena de caracteres para permitirle al usuario implementar el comando fplot. fplot(derivada,[inicio,final],'r') Grafica la primera derivada de la función original en el rango
  19. 19. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 19 comprendido entre el arreglo “inicio” y “final”. grid on Inserta una rejilla en la grafica. xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de la función: ') Coloca una etiqueta sobre el eje y. title('DERIVADA DE LA FUNCION: ') Coloca un encabezado sobre la segunda subrutina. subplot(3,1,3) Construye la tercera subrutina de gráficos dividiendo la ventana principal en 3 filas, 1 columna y el tercer elemento que se trabajara. inte=int(fun); Calcula la integral indefinida de la función ingresada por el usuario, el resultado se almacena en el arreglo “inte”. integral=char(inte); Convierte el resultado de la integral a una cadena de caracteres para permitirle al usuario implementar el comando fplot. fplot(integral,[inicio,final],'k') Grafica la integral de la función original en el rango comprendido entre el arreglo “inicio” y “final”. grid on Inserta una rejilla en la grafica. xlabel('Valores de x: ') Coloca una etiqueta sobre el eje x. ylabel('Valores de la función: ') Coloca una etiqueta sobre
  20. 20. “La Técnica al Servicio de la Patria” TutorialparagráficosbidimensionalesenMATLAB. 20 el eje y. title('INTEGRAL DE LA FUNCION: ') Coloca un encabezado sobre la segunda subrutina. Tabla 5 Figura 21 0 1 2 3 4 5 6 -5 0 5 Valores de x: Valoresdelafuncion: FUNCION ORIGINAL: 0 1 2 3 4 5 6 0 50 100 Valores de x: Valoresdelafunción: DERIVADA DE LA FUNCION: 0 1 2 3 4 5 6 -5 0 5 Valores de x: Valoresdelafunción: INTEGRAL DE LA FUNCION: Figura 22 Comentario [VeC17]: Para verificar que la subrutina funcione adecuadamente, utilice las siguientes condiciones. Comentario [VeC18]: Perspectiva final con los datos sugeridos.

×