MATLAB PARA LA INVESTIGACIÓN CIENTÍFICA, LA DOCENCIA Y LA INGENIERÍA NIVEL I Dirigido por: Alberto Patiño Vanegas GRUPO DE INVESTIGACIÓN ÓPTICA MODERNA Universidad de Pamplona 1 TERCERA SESIÓN • GRAFICAS 2D • GRAFICAS 3D 2 SESIÓN 3. GRAFICAS 2D GRÁFICOS 2D 1. COORDENADAS CARTESIANAS plot( X , Y, ‘prop’) X : vector con los valores de las abscisas Y : vector con los valores de las ordenadas (X , Y deben ser del mismo tamaño). prop : opciones de graficación EJEMPLO 1 t = linspace(0,1,100); Y = sin(2*pi*t); plot(t,Y) 3 SESIÓN 3. GRAFICAS 2D OPCIONES DE GRAFICACION • TIPO DE LINEA plot ( X , Y, ‘color marca tipo’) Color Símbolo Rojo r Amarillo y Magenta m Turquesa c Verde g Azul b Blanco w Negro k Marca Símbolo Tipo Símbolo Punto . Continua - Mas + Guiones -- Estrella * Punteada : Circulo O -. equis x Guiones y punto 4 SESIÓN 3. GRAFICAS 2D • COMANDOS PARA MANEJO DE FIGURAS COMANDO ESPECIFICACIÓN Grid on,grid off Agrega retícula o la quita. axis([xmin xmax ymin ymax]) Determina el máximo y el mínimo de los ejes. xlabel(‘etiqueta del eje x’) Etiqueta al eje x ylabel (‘etiqueta del eje y’) Etiqueta al eje x tittle (‘titulo de la grafica’) Coloca titulo a la grafica text(X,Y,’texto’) Coloca un texto en las coordenadas (X,Y) 5 SESIÓN 3. GRAFICAS 2D EJEMPLO 2. t = linspace(0,20,100); V = 10*sin(2*pi*t); plot(t,V) grid on; xlabel(‘tiempo (ms)'); ylabel (‘Voltaje (V)'); title('FUENTE DE CORRIENTE ALTERNA'); pause; grid on; 6 SESIÓN 3. GRAFICAS 2D • DIBUJO DE MULTIPLES CURVAS 3.1. VARIAS GRAFICAS EN LOS MISMOS EJES plot ( X , [Y1; Y2], ’prop’ ) plot ( X1 , Y1 , ’prop1’ , X2 , Y2 , ’prop2’ ) 3.2. VARIAS GRAFICAS EN UNA MISMA FIGURA figure; subplot ( Nº filas , Nº columnas, posición1) Plot(X1, Y1) subplot ( Nº filas , Nº columnas, posición2) Plot(X2,Y2) ... 3.3. AGREGAR UNA CURVA A UNA GRAFICA YA TRAZADA plot(X1,Y1) hold on; plot(X2,Y2) Hold off; 7 SESIÓN 3. GRAFICAS 2D EJEMPLO 3. t = linspace(0,3*pi,1000); V = cos(2*pi*0.1*t).*sin(2*pi*2*t); plot(t,V,'r') hold on; V1 = cos(2*pi*0.1*t); V2 = -cos(2*pi*0.1*t); plot(t,[V1;V2],'b-.') hold off; title('SEÑAL MODULADA') text(6,0.8,'coseno envolvente') 8 SESIÓN 3. GRAFICAS 2D 4. ESCALAMIENTO DE EJES loglog( X , Y) semilogx( X , Y) semilogy( X , Y) EJEMPLO 4 t = linspace(0,10,1000); Y = exp(t); subplot(2,2,1) plot(t,Y) subplot(2,2,2) loglog(t,Y) subplot(2,2,3) semilogy(t,Y) subplot(2,2,4) semilogx(t,Y) 9 SESIÓN 3. GRAFICAS 2D 4. GRAFICA DE FUNCIONES IMPLICITAS fplot ( ‘funcion’, [xmin xmax ymin ymax] ) fplot ( ‘funcion’, [xmin xmax], paso ) EJEMPLO 5. f ='[tan(x),sin(x),cos(x)]'; g ='sin(1 ./ x)'; subplot(2,1,1), fplot(f,2*pi*[-1 1 -1 1]) subplot(2,1,2), fplot(g, [0.01 0.1],1e-3) VER EZPLOT 10 SESIÓN 3. GRAFICAS 2D 2. COORDENADAS POLARES polar( tetha ,r ) EJEMPLO 6. t = 0:0.01:pi; R =sin(3*t); polar(t,R,'r') VER EZPOLAR 11 SESIÓN 3. GRAFICAS 3D GRAFICAS 3D ⎡ x11 ... x1m ⎤ ⎥ ⎢ X =⎢ M O M ⎥ ⎢⎣ xn1 ... xnm ⎥⎦ ⎡ y11 ... y1m ⎤ Y = ⎢⎢ M O M ⎥⎥ ⎢⎣ yn1 ... ynm ⎥⎦ ⎡ z11 ... z1m ⎤ Z = ⎢⎢ M O M ⎥⎥ ⎢⎣ z n1 ... z nm ⎥⎦ 12 SESIÓN 3. GRAFICAS 3D GRAFICAS 3D GENERACIÓN DEL DOMINIO Y RANGO COORDENADAS CARTESIANAS COORDENADAS ESFERICAS Xa = x1 : dx : x2; Theta = th1 : dth : th2; Ya = y1 : dy : y2; Phi = ph1 : dph : ph2; [X,Y] = meshgrid(Xa,Ya); [Theta , Phi] = meshgrid(Theta,Phi); Z = f(X,Y); r = f(Theta,Phi); [X,Y,Z]=sph2cart(r,Theta,Phi) COORDENADAS CILINDRICAS Theta = th1 : dth : th2; R = ph1 : dph : ph2; COMANDOS DE GRAFICACIÓN 3D PLOT3 (X,Y,Z) MESH (X,Y,Z) [R,Thetai] = meshgrid(R,Theta); SURF (X,Y,Z) Z = f(R,Theta); SURFL (X,Y,Z) [X,Y,Z]=pol2cart(Theta,R,Z) GRAFICACIÓN SIMBOLICA EZPLOT3 (‘x(t)’,’y(t)’,’z(t)’) EZMESH (Z) EZSURFL (Z) 13 SESIÓN 3. GRAFICAS 3D EJEMPLO 7a. xa = -2:.2:2; ya = xa; [X Y] = meshgrid(xa,ya); Z = X.*exp(- X.^2 - Y.^2 ); plot3(X,Y,Z) xlabel('X'), ylabel('Y'), zlabel('Z') 14 SESIÓN 3. GRAFICAS 3D EJEMPLO 7b. xa = -2:.2:2; ya = xa; [X Y] = meshgrid(xa,ya); Z = X.*exp(- X.^2 - Y.^2 ); mesh(X,Y,Z) xlabel('X'), ylabel('Y'), zlabel('Z') 15 SESIÓN 3. GRAFICAS 3D EJEMPLO 7c. xa = -2:.2:2; ya = xa; [X Y] = meshgrid(xa,ya); Z = X.*exp(- X.^2 - Y.^2 ); surf(X,Y,Z) xlabel('X'), ylabel('Y'), zlabel('Z') 16 SESIÓN 3. GRAFICAS 3D EJEMPLO 7d. syms X Y Z Z = X*exp(-X^2-Y^2); ezsurfl(Z) 17 SESIÓN 3. GRAFICAS 3D GRAFICAS DE CONTORNOS COMANDOS PARA GRAFICAS DE CONTORNOS GRAFICACIÓN SIMBOLICA DE CONTORNOS CONTOUR(X,Y,Z) EZCONTOUR(Z) CONTOUR3(X,Y,Z) EZCONTOURF(Z) CONTOURF(X,Y,Z) 18 SESIÓN 3. GRAFICAS 3D GRAFICAS 3D EJEMPLO 8a. xa = -2:.2:2; ya = xa; [X Y] = meshgrid(xa,ya); Z = X.*exp(- X.^2 - Y.^2 ); contour(X,Y,Z) 19 SESIÓN 3. GRAFICAS 3D GRAFICAS 3D EJEMPLO 8b. syms X Y Z; Z = X*exp(- X^2 - Y^2 ); ezcontour(Z) 20