Cómo trazar curvas y gráficas en Matlab
Para representar gráficos y trazado de curvas en MATLAB debemos emplear la función plot(). En este artículo veremos en detalle el uso de este comando.
¿Cuál es el uso simple del comando?
En esta primera parte vamos a ver cómo utilizar el comando plot() para representar un vector o una simple función matemática.
Vector
Imaginemos un vector v de tamaño n. La función plot(v) permite trazar el vector en función del índice n. De este modo lograremos la representación de las parejas de números (i,v(i)).
Veamos un ejemplo:
v es un vector que comprende los números reales del 0 al 10 con incrementos de 0.1:
v = [0:0.1:10]
El tamaño del vector es n=101.
Empleando dicho comando:
plot(v)
Obtenemos:
El eje de abscisas (horizontal) corresponde a los índices y el eje de ordenadas (vertical) a los valores del vector.
Matriz
En este caso, la función plot() considerará cada columna de la matriz como un vector independiente y será trazada en función de los índices.
Ejemplo:
M=[1:10;21:30]
plot(M)
Veamos qué sucede con la transpuesta de M, M’:
plot(M')
Vector en función de otro
Es el caso más común. Tan solo hay que definir los dos vectores. El comando plot(V1,V2) permite trazar el vector V2 en función de V1.
Ejemplo:
V1=[0:0.01:2*pi]; V2=sin(V1);
V1 comprende los números reales del 1 hasta 2*pi con un incremento de 0.01. Por otro lado, V2 es el seno del vector V1.
plot(V1,V2)
Otros argumentos del comando
Un tercer argumento puede añadirse al comando a fin de especificar:
- El color de la curva
- La forma(puntos, triángulos, cuadrados…)
- El tipo de trazo (continuo, discontinuo)
Ejemplo:
V=[1:10];
El comando para trazar el vector V de color verde y con + en lugar de puntos será:
plot(v,'g+')
Y obtendremos:
A continuación una lista de posibles argumentos:
Color:
- b azul
- g verde
- r rojo
- m magenta
- k negro
- w blanco
La forma de las coordenadas:
- . punto
- o círculo
- x x
- + más
- * estrella
- s cuadrado
- d diamante
- v triángulo hacia abajo
- ^ triángulo hacia arriba
- < triángulo hacia la izquierda
- > triángulo hacia la derecha
- p pentagrama
- h hexagrama
El tipo de trazo:
- - continuo
- : discontinuo 1
- -. discontinuo 2
- -- discontinuo 3
¿Cómo trazar diversas curvas?
En la misma figura y con la misma escala
Es necesario indicarle a MATLAB que deseamos poner varias curvas en una misma figura. Si no lo hacemos, reemplazará la curva actual con la nueva curva.
Ejemplo:
V1=[0:0.01:2*pi]; V2=sin(V1); V3=cos(V1); plot(V1,V2)
para añadir la curva V3 en función de V1, basta utilizar el comando hold on:
hold on plot(V1,V3,'r')
En la misma figura con dos escalas diferentes
Será necesario dividir la figura en forma de matriz (líneas y columnas). Utilizaremos el comando subplot.
La sintaxis del comando es subplot(n,m,p):
- m es el número de líneas
- n es el número de columnas
- p es la posición que ocupará la curva actual.
Ejemplo:
V1=[0:0.01:2*pi]; V2=sin(V1); V3=cos(V1); V4=exp(V1); V5=-sin(V1);
El código para mostrar las curvas V1, V2, V3, V4 y V5 en el mismo gráfico (pero cada una ocupando una zona independiente) es el siguiente:
subplot(2,2,1), plot(V1,V2) subplot(2,2,2), plot(V1,V3) subplot(2,2,3), plot(V1,V4) subplot(2,2,4), plot(V1,V5)
Crear nuevas figuras
El comando figure permite crear nuevas figuras. El siguiente código permite poner las curvas V1, V2, V3 y V4 en una nueva figura. De este modo, las antiguas figuras no serán reemplazadas con las nuevas:
plot(V1,V2) figure plot(V1,V3) figure plot(V1,V4)
¿Cómo ponerle nombre a la figura?
A continuación algunos comandos suplementarios:
Poner un título a la gráfica:
title('texto')
Poner un nombre al eje x:
xlabel('texto')
Poner un nombre al eje y:
ylabel('texto')
Mostrar un texto en el lugar indicado por las coordenadas (x,y) de acuerdo a la escala de la figura:
text(x,y,'texto')