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