Graficas en 2 d y 3d matlab

69,266 views

Published on

Graficas en 2 y 3d matlab Por Juan Guaranga y Eduardo Morales.

Published in: Education
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
69,266
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
812
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Graficas en 2 d y 3d matlab

  1. 1. Escuela Superior Politécnica deChimborazoFacultad de Informática y ElectrónicaHerramientas EdaGraficas en 2 y 3 DEduardo MoralesJuan Guaranga
  2. 2. Objetivo:PRESENTAR MATLAB COMO UNA HERRAMIENTA AUXILIARPARA EL ANÁLISIS Y SOLUCIÓN DE PROBLEMAS.SELECCIONANDO Y ADECUANDO LAS DISTINTAS FUNCIONESA LAS NECESIDADES PARTICULARES DE CURSOS DELDEPARTAMENTO.LAS INSTRUCCIONES BÁSICAS QUE UTILIZA MATLABPARA DIBUJAR LA GRÁFICA DE UNA FUNCIÓN DE UNAVARIABLE SON LOS SIGUIENTES:
  3. 3. Gráficos 2D y 3DFunciones gráficas 2D y 3D elementales 2D: plot() crea un gráfico a partir de vectores con escalaslineales sobre ambos ejes,>> plot(X,Y,’opción’) (opción: permite elegir color y trazo de la curva) hold on: permite pintar más gráficos en la misma figura (sedesactiva con hold off) grid activa una cuadrícula en el dibujo. Escribiendo de nuevogrid se desactiva. 2D: loglog() escala logarítmica en ambos ejes, semilogx():escala lineal en el eje de ordenadas y logarítmica en el ejede abscisas, semilogy(): escala lineal en abscisas ylogarítmica en ordenadasEjemplo: main_dibujos.m, y ver en Demos: Graphics
  4. 4. Gráficos 2D y 3DFunciones gráficas 2D y 3D elementales 2D: subplot(n,m,k) subdivide una ventana gráfica se puedeen m particiones horizontales y n verticales y k es lasubdivisión que se activa. 2D: polar(ángulo,r) para pintar en polares 2D: fill(x,y,’opción’) dibuja una curva cerrada y la rellena delcolor que se indique en ‘opción’ 3D: plot3 es análoga a su homóloga bidimensional plot.» plot3(X,Y,Z, ’opción’)
  5. 5. Gráficos 2D y 3DElección de la escala de los ejes axis([x0 x1 y0 y1]) (2D), axis([x0 x1 y0 y1 z0 z1]) (3D) axis auto: devuelve la escala a la de defecto axis off: desactiva los etiquetados de los ejes desapareciendo los ejes,sus etiquetas y la malla, axis on: lo activa de nuevo axis equal: los mismos factores de escala para los dos ejes axis square: cierra con un cuadrado la región delimitada por los ejes decoordenadas actuales. Para elegir las etiquetas que aparecen en los ejes:set(gca, ‘XTick’,-pi:pi/2,pi) %gca:get current axisset(gca, ‘XTicklabel’,({‘-pi’,’-pi/2’,0,’pi/2’,’pi’})
  6. 6. Gráficos 2D y 3DFunciones para añadir títulos a la gráfica title(título) añade un título al dibujo. Para incluir en el texto elvalor de una variable numérica es preciso transformarlamediante :int2str(n) convierte el valor de la variable entera n en carácternum2str(x) convierte el valor de la variable real o compleja x encarácter. Ejemplo: title(num2str(x)) xlabel(‘texto’) añade una etiqueta al eje de abscisas. Conxlabel off desaparece. Lo mismo ylabel(‘texto’) o zlabel(‘texto’) text(x,y,texto) introduce texto en el lugar especificado por lascoordenadas x e y. Si x e y son vectores, el texto se repite porcada par de elementos. gtext(texto) introduce texto con ayuda del ratón.
  7. 7. Gráficos 2D y 3DFunciones de Matlab para gráficos 2D y 3D Imprimir gráficos: Print (botón File en ventana gráfica) Guardar gráficos: Save (botón File en ventana gráfica): Se creaun fichero .fig que podrá volver a editarse y modificarse Exportar gráficos: Export (botón File en ventana gráfica) figure(n): Llamar una nueva figura o referirnos a una figura yahecha close all borra todas las figuras, close(figure(n)) una en concreto
  8. 8. Ejercicio IRepresentar las funciones:y1= sin(3 π x)/exy2=cos(3π x)/excon x variando entre 0 y 3 π,obteniendo una única figura de la forma:
  9. 9. Gráficos 2D y 3DRepresentación gráfica de superficies Creación de una malla a partir de vectores [X,Y]=meshgrid(x,y) Gráfica de la malla construida sobre la superficie Z(X,Y):mesh(X,Y,Z), meshc(X,Y,Z) (dibuja además líneas de nivel enel plano z=0) Gráfica de la superficie Z(X,Y): surf(X,Y,Z), surfc(X,Y,Z) pcolor(Z) dibuja proyección con sombras de color sobre elplano (la gama de colores está en consonancia con lasvariaciones de Z) contour(X,Y,Z,v) y contour3(X,Y,Z,v) generan las líneas de nivelde una superficie para los valores dados en v. Para etiquetarlas líneas, primero cs=contour(Z) (para saber los valores delcontorno) y luego clabel(cs) o directamente clabel(cs,v)
  10. 10. Gráficos 2D y 3DRepresentación gráfica de superficies Diferentes formas de representar los polígonos coloreados: shading flat: sombrea con color constante para cadapolígono. shading interp: sombrea calculado por interpolación decolores entre los vértices de cada polígono shading faceted: sombreado constante con líneas negrassuperpuestas (opción por defecto) hidden off (desactiva la desaparición de líneas escondidas),hidden on (lo activa) Manipulación de gráficos view(azimut, elev), view([xd,yd,zd]) rotate(h,d,a) o rotate(h,d,a,o), ‘h’ es el objeto, ‘d’ es un vectorque indica la dirección, ‘a’ un ángulo y ‘o’ el origen derotación En ventana gráfica: View (camera toolbar)
  11. 11. Gráficos 2D y 3DTransformación de coordenadas [ang,rad]=cart2pol(x,y), de cartesianas a polares [ang,rad,z]=cart2pol(x,y,z), de cartesianas a cilindricas [x,y]=pol2cart(ang,rad), de polares a cartesianas [x,y,z]=pol2cart(ang,rad,z), de cilindricas a cartesianas [angx,angz,rad]=cart2sph(x,y,z), de cartesianas a esfericas [x,y,z]=aph2cart(angx,angz,rad), de esfericas acartesianas
  12. 12. Gráficos 2D y 3DCreación de películas Una película se compone de varias imágenes (frames) getframe se emplea para guardar todas esas imágenes.Devuelve un vector columna con la información necesariapara reproducir la imagen que se acaba de representar, porejemplo con la función plot. Esos vectores se almacenan enuna matriz M. movie(M,n,fps) representa n veces la película almacenadaen M a una velocidad de fps imágenes por segundoX=0:0.01:2*pi;for j=1:10plot(x,sin(j*x)/2)M(j)=getframe;endmovie(M,4,6)
  13. 13. Gráficas xy SencillasSe explicará la graficación xy sencilla con un ejemplo. Suponga quequeremos graficar la información resultante de un experimento:Ensayo Distancia1 58.52 63.83 64.24 67.35 71.56 88.37 90.18 90.69 89.510 90.4
  14. 14. Gráficas xy SencillasAlmacenamos las dos columnas en vectores de datos:x= [1 2 3 4 5 6 7 8 9 10];y= [58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4];Para graficar los datos:plot(x,y)
  15. 15. Gráficas xy Sencillas
  16. 16. Gráficas xy SencillasPara agregar información a la gráfica:title(‘Experimentos de Laboratorio’)xlabel(‘Ensayo’)ylabel(‘Distancia, m’)grid onNote las diferencias en las gráficas.
  17. 17. Gráficas xy Sencillas
  18. 18. Gráficas Lineales y LogarítmicasLos comandos de Matlab para generar gráficas lineales ylogarítmicas de los vectores x y y son los siguientes:semilogx(x,y) Genera una gráfica de los valores x y yusando una escala logarítmica para x y una escala linealpara y.semilogy(x,y) Genera una gráfica de los valores x y yusando una escala logarítmica para y y una escala linealpara x.loglog(x,y) Genera una gráfica de los valores x y yusando una escala logarítmica tanto para x como para y.
  19. 19. Gráficas MúltiplesPara generar curvas múltiples en la misma gráfica seusan múltiples argumentos en un comando degraficación,plot(x,y,w,z)donde las variables x, y, w y z son vectores. El comandotraza la curva correspondiente a x vs y, y luego w vs z.Matlab selecciona diferentes tipos de línea para distinguirlas líneas.
  20. 20. Gráficas MúltiplesOtra forma es graficar una matriz con columnasmúltiples. Cada columna se graficará contra un vector x.x= 0:0.1:5;w= x;z= w.^2 - 0.9*x +7;f(1,:)= x.^2 - 3*x + 2;f(2,:)= 2*x.^2 + x -3;subplot(2,1,1)plot(x,f(1,:),w,z),title(Grafica con dos curvas:plot(x,f(1,:),w,z))subplot(2,1,2)plot(x,f), title(Grafica de multiples funciones:plot(x,f))
  21. 21. Gráficas Múltiples
  22. 22. Estilo de Líneas y MarcasEl comando plot(x,y) genera una gráfica de líneas queconecta los puntos representados por los vectores.Podemos seleccionar otros tipos de línea y/o depuntos. La siguiente tabla muestra algunas opciones:Tipo de línea Indicador Tipo de punto Indicadorcontinua - punto .guiones -- más +punteada : estrella *guiones-puntos -. círculo omarca x
  23. 23. Estilo de Líneas y MarcasLa selección del tipo de línea o punto se haceagregando un argumento al comando de graficación:plot(x,y,’o’)
  24. 24. Escala de los EjesMatlab fija automáticamente la escala de los ejesajustándola a los valores de los datos. Podemoscambiar las escalas con el comando axis:axis Mantiene la escala del eje actual para gráficassubsecuentes. Una segunda ejecución delcomando regresa el sistema al escalado automático.axis([xmin xmax ymin ymax])Especifica la escala del eje usando los valores deescala que están definidos en el comando.El comado plot precede al comando axis.
  25. 25. SubgráficasEl comando subplot permite dividir la ventana degráficos en subventanas.subplot(x, y, n) Divide la ventana de gráficas enun arreglo de x por y subventanas y define lasubventana n para colocar la gráfica que se generedespués del comando subplot.subplot(2,1,1), plot(x,y)La gráfica definida por el comando plot(x,y) secolocará en la primera subventana de las cuatrodefinidas por el comando subplot(2,2,1).
  26. 26. Matlab ofrece 3 tipos de graficación para tresdimensiones:•Gráficas de líneas•Gráficas de contorno•Gráficas de malla
  27. 27. Gráficas de líneasLas gráficas de líneas son creadas usando el comadoplot3, el cual es la version tridimensional de plot
  28. 28. Gráficas de contornoLas gráficas de controno enrealidad son gráficas en dosdimensiones, con líneasuniendo puntos con igual valoren z.
  29. 29. Gráficas de mallaEn las gráficas de malla,cada punto se une a susvecinos formando unaespecie de tapete.
  30. 30. Ejemplos:Simple3Dclfx=-1:.1:1;y=-2:.1:2;[X,Y]=meshgrid(x,y);z=X.^4+(Y/2).^4;subplot(121), contour(z)subplot(122), mesh(z)

×