GRÁFICOS 2D Y 3D con matlab Ing. Pedro Arias Quintero
Como definir UN GRÁFICO dispone de la orden plot(x,y), donde x e y son dos vectores de la misma dimensión que representan las coordenadas de las abscisas y ordenadas de los datos a representar, respectivamente. Supongamos que queremos representar la gráfica de sin(x) entre 0 y 2π x = linspace(0,2*pi,100); y = sin(x) ; plot(x,y) ;
TÍTULOS Y NOMBRES A EJES Con la orden title se anade un título Con las órdenes:xlabel e ylabel se añaden, respectivamente, etiquetas a los ejes de abscisas y ordenadas; La orden grid(’on’) añade una rejilla a la gráfica. title('Representacion de sin(x)'), xlabel('x'),ylabel('sin(x)'), grid('on')
Gráficas múltiples Si estamos interesados en dibujar varias curvas en una misma gráfica, podemos hacerlo de forma simple utilizando varios pares de vectores. Por ejemplo, la orden plot(x,y,w,z) dibujaría en una misma gráfica las curvas de y en función de x, y w en función de z. Fíjate en el siguiente código, que dibuja las curvas sin(x) y cos(x) en la misma figura x = linspace(0,2*pi,100); y = sin(x) ; z = cos(x); plot(x,y,x,z),title('Grafica del seno y coseno de x'),xlabel('x'), grid('on')
distinguir las curvas por el formato de las líneas o por el formato de los puntos plot(x,y,'-o',x,z,'+'), title('Grafica del seno y coseno de x'),xlabel('x'), grid('on')
Presentación de gráficas Example x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k', 'MarkerFaceColor','g',... 'MarkerSize',10)
Gráficas multiples con subplot
Gráficas multiples con subplot
Gráficas 3d en matlab
Gráficas 3d en matlab – Plot3 La función plot3 es similar a la función plot, excepto que acepta datos en tres dimensiones. Por ejemplo clear, clc x=linspace(0,10*pi,1000); y=cos(x); z=sin(x); plot3(x,y,z) grid xlabel('ángulo'), ylabel('cos(x)'), zlabel('sen(x)'), title('Un resorte') El título, las etiquetas y la retícula se agregaron a la gráfica en la forma usual, con la adición de zlabel para el eje z. El sistema coordenado usado con plot3 se orienta mediante el sistema coordenado de la mano derecha familiar a los ingenieros
Gráficas 3d en matlab – comet clear, clc x=linspace(0,10*pi,1000); y=cos(x); z=sin(x); comet3(x,y,z) grid xlabel('ángulo'), ylabel('cos(x)'), zlabel('sen(x)'), title('Un resorte')
Gráficas 3d – graficar superficies - mesh >> z=[1:10; 2:2:20; 3:12] mesh(z) xlabel('eje x') ylabel('eje y') zlabel('eje z')
Gráficas 3d – graficar superficies - mesh La función mesh también se puede usar con tres argumentos: mesh(x,y,z). En este caso, x es una lista de coordenadas x, y es una lista de coordenadas y, y z es una lista de coordenadas z. x=linspace(1,50,10) y=linspace(500,1000,3) z=[1:10; 2:2:20; 3:12] El vector x debe tener el mismo número de elementos que el número de columnas en el vector z; el vector y debe tener el mismo número de elementos que el número de filas en el vector z. El comando mesh(x,y,z)
Gráficas 3d – graficar superficies - surf Surf crea una superficie tridimensional colorida en lugar de una mesh. Los colores varían con el valor de z. x=[-2:0.2:2] y=[-2:0.2:2] [X,Y]=meshgrid(x,y) Z=X.*exp(-X.^2 -Y.^2); En el código precedente, se usa la función meshgrid para crear las matrices bidimensionales X y Y de los vectores unidimensionales x y y. Entonces se calculan los valores en Z. El siguiente código grafica los valores calculados: subplot(2,2,1) mesh(X,Y,Z) title('Gráfica mesh'), xlabel('eje x'), ylabel('eje y'), zlabel('eje z') subplot(2,2,2) surf(X,Y,Z) title('Gráfica de superficie'), xlabel('eje x'), ylabel('eje y'), zlabel('eje z')
Gráficas 3d – graficar contornos Las gráficas de contorno son representaciones bidimensionales de superficies tridimensionales. x=[-2:0.2:2] y=[-2:0.2:2] [X,Y]=meshgrid(x,y) Z=X.*exp(-X.^2 -Y.^2); subplot(2,2,1) mesh(X,Y,Z) title('Gráfica mesh'), xlabel('eje x'), ylabel('eje y'), zlabel('eje z') subplot(2,2,2) surf(X,Y,Z) title('Gráfica de superficie'), xlabel('eje x'), ylabel('eje y'), zlabel('eje z') subplot(2,2,3) contour(X,Y,Z) title('Gráfica de contorno'), xlabel('eje x'), ylabel('eje y') subplot(2,2,4) surfc(X,Y,Z) title('Combinación de gráficas de superficie y de contorno'), xlabel('eje x'), ylabel('eje y')