Trazado de curvas en Matlab

última actualización el 13 de julio de 2009, 17:15 por Carlos-vialfa
Publicado por Carlos-vialfa
En Matlab la función plot básicamente permite el trazado de curvas. En este artículo veremos en detalle el uso de este comando.



Uso simple del comando


En esta parte vamos a ver como utilizar el comando para representar una matriz 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 v en función del índice n. Por lo tanto, tendremos la representación de las parejas de números (i,V(i)).

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.

El comando plot(V) da:



El eje de las abscisas corresponde a los índices y el eje de las ordenadas corresponde a los valores del vector para cada índice.

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)




La transpuesta de M es 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*3.14 con un incremento de 0.01. V2 es el seno del vector V1.

plot(V1,V2)



Otros argumentos del comando


Un tercer argumento puede ser añadido al comando para especificar:
  • El color de la curva;
  • La forma de las coordenadas (puntos, triángulos, cuadrados…);
  • El tipo de trazo (continuo, discontinuo)



Este argumento debe ser especificado entre dos apóstrofos (').

Ejemplo:

V=[1:10];


Para trazar el vector V de color verde y con + en lugar de puntos, el comando será:

plot(v,'g+')


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 circulo
    • x en x
    • + más
    • * estrella
    • s cuadrado
    • d diamante
    • v triangulo hacia abajo
    • ^ triangulo hacia arriba
    • < triangulo hacia la izquierda
    • > triangulo hacia la derecha
    • p pentagrama
    • h hexagrama
  • El tipo de trazo:
    • - continuo
    • : discontinuo 1
    • -. discontinuo 2
    • -- discontinuo 3

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) en el que:
  • m es el numero de líneas
  • n es el numero de columnas
  • p es la posición que ocupará la curva actual. Esta posición se encuentra calculando la suma de la línea y de la columna de la matriz.


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 V2,3,4 y 5 en el mismo grafico 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 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)

Ponerle nombre a la figura


A continuación algunos comandos suplementarios:

title('texto')


Pone un nombre a la curva

xlabel('texto')


Pone un nombre al eje de las abscisas

ylabel('texto')


Pone un nombre al eje de las ordenadas

text(x,y,'texto')


Muestra un texto en el lugar indicado por las coordenadas (x,y) de acuerdo a la escala de la figura.

PD: El artículo original fue escrito por fahd_zboot, contribuidor de CommentCaMarche
Mejores respuestas para « Trazado de curvas en Matlab » en :
Concatenación de vectores y matrices en Matlab Ver La concatenación de variables en Matlab consiste en agrupar estas variables en una sola (vector o matriz). Por ejemplo, concatenar: |2 3 4| X= |1 2 5| |0 2 7| con: |9 6 8| Y= |5 6 2| |3 2 1| Resulta...
Equivalentes a Matlab (gratuitos) Ver Matlab es un lenguaje de desarrollo y programación de alto nivel destinado a investigadores, científicos y estudiantes en el campo de la física y las matemáticas. Permite realizar tareas complejas que requieren de gran potencia de cálculo. Gracias...
Manipulación básica de matrices en MatLab VerIndice I. Cómo se almacenan las matrices II. La indexación lineal II.1. Acceder a un elemento de una matriz utilizando la indexación lineal II.2. Pasar de una indexación a otra II.2.1. La función ind2sub II.2.2. La función sub2ind III. La...
[Photoshop] La herramienta vectorial Pluma [Tutorial] VerLa herramienta vectorial Pluma Parte teórica Presentación Objetivo de este tutorial Por qué utilizar la herramienta Pluma Lo esencial de la herramienta pluma Modificación del trazado Parte práctica Proyecto inicial Variantes Parte...
Javascript – La concatenación de cadenas VerJavascript – La concatenación de cadenas La concatenación de cadenas significa la unión secuencial de dos cadenas para formar una sola. En la mayoría de lenguajes como PHP la concatenación se realiza con el carácter “.”. En Javascript se debe...
Descargar GNU Octave VerGNU Octave es un programa libre de calculo científico, al igual que [Scilab], es un equivalente gratuito a Matlab. Sin embargo, contrariamente a Scilab, en el que la sintaxis puede a veces diferir a la de Matlab, un programa escrito para GNU Octave,...
Descargar Simple Port Forwarding VerLa mayoria de la aplicaciones de red no funcionan de la mejor manera tras un router y necesitan que algunos puertos esten abiertos y se dirijan asi el propio ordenador. Este programa esta diseñado especificamente para forward los puertos que tu...