• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Matlab graficas
 

Matlab graficas

on

  • 482 views

 

Statistics

Views

Total Views
482
Views on SlideShare
482
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Matlab graficas Matlab graficas Presentation Transcript

    • NOMBRES:Edwin Machado 205Janeth Yumbillo 541MATERIA: Herramientas EDA
    • Por las características propias del programa, los gráficos, enconcreto los 2D,están orientados a la representación gráfica de vectores. Seutiliza una ventanaespecial para la creación de los gráficos: la ventana gráfica ode dibujo y, dichosgráficos se guardan en ficheros de extensión .fig.
    • El comando básico para la representación de gráficos 2D es elcomando plot.Su sintaxis puede ser:plot(x,y): dibuja el conjunto de puntos (x,y) donde las abscisasde los puntos se encuentran en el vector x y las ordenadas en ely.Para representar una función f(x) es necesario conocer losvalores de puntos de la forma (x,f(x)). Para ello puede seguirsealguno de estos caminos:- Definir un vector x con el rango de variación donde se deseapintar la función. Para ello puede ser muy útil el comandolinspace(xmin,xmax,n).
    • >> x=linspace(0,10,100);>> y=sin(x);>> plot(x,y)También es posible dibujar una función con el comando fplot cuyasintaxises la siguiente: fplot(‘f(x)’,[xmin,xmax])Si se desea representar varias funciones a la vez las opciones son:- plot(x,y,x,z) donde x el vector de las abscisas, común para las dosrepresentaciones, y es el de las ordenadas de la primera representacióny zlas de la segunda.- fplot(‘[f1(x),f2(x),...]’,[xmin,xmax]) donde f1, f2, … son las funciones arepresentar en el intervalo de variación marcado por xmin y xmax.- Mediante el comando: hold on, hold off. Todos los gráficos que seordene dibujar entre los comandos hold on y hold off se representanen la misma figura. Si hay una figura abierta se dibujan en ésta.
    • Ejemplo:>> hold on>> x=[-3*pi:1:3*pi];>> plot(x,sin(x))>> plot(x,tan(x),r)>> hold off- El comando subplot. Una ventana gráfica se puede dividir en m particioneshorizontales y n verticales para representar mxn figuras. Cada una de lasparticiones tendrá sus ejes aunque las propiedades serán comunes a todasellas. La sintaxis es: subplot(m,n,i), donde m y n son el número desubdivisiones e i la subdivisión activa. Por ejemplo:>> x=0:0.1:2*pi;>> y=sin(x);z=cos(x);t=exp(-x);v=x^2;>> subplot(2,2,1), plot(x,y) 51>> subplot(2,2,2), plot(x,z)>> subplot(2,2,3), plot(x,t)>> subplot(2,2,4), plot(x,v)
    • Otras funciones con matlab Opciones de dibujo . Hemos vistoque el comando plot(x,y) dibuja losgráficos con unas característicaspredefinidas en el programa, esposible alterarlas a partir deplot(x,y,s) donde s se compone dedos dígitos entre comillas. >> plot(x,y,-*g) Los colores vienen dados por: y:amarillo, g: verde, m: magenta, b:azul, c: cían, w: blanco, r: rojo, k: negro. Se puede modificar el grosor delínea incluyendo la cadena:‘Linewidth’, número_indicativo_del_grosor. Porejemplo: plot(x,y,linewidth,2) También aquí Matlab tiene sus opcionespor defecto. En muchas ocasiones esinteresante alterarlas. Para definir otros se utiliza el comandoaxis cuya sintaxis es: axis([xmin,xmax,ymin,ymax]). axis(‘auto’)devuelve la escala al valor por defecto. Destacar que: axis off elimina los ejesdel dibujo y axis on los incorpora. - Entrada de puntos con el ratón Matlab permite introducir lascoordenadas de los puntos sobre los quese encuentra el cursor, al pinchar o alpulsar alguna tecla. El comando que lorealiza es ginput. Algunas formas deutilizarlo son: [x,y]=ginput: lee lospuntos cada vez que se pincha o se pulsaalguna tecla. Finaliza al pulsar intro. [x,y]=ginput(n):lee las coordenadas de n puntos
    • La ventana gráfica de Matlab. La mayoría de las opciones decambio en una gráficapresentadas con anterioridad,pueden realizarse desde lapantalla de dibujo En el menú edit aparecen entreotros los comandos FigureProperties, axes Properties yCurrent Object Properties, conellos se abre paso a los editorescorrespondientes donde se nosda la posibilidad de cambiar lasopciones de dibujo
    • Superposición de gráficos Usando line(x, y, parametros, valor‘)Parametros, colorlinestyle, Marker. %Ejemplo de holdx=linspace(0, 2*pi, 100)y1=sin(x)plot(x, y1)y2= x- (x.^3)/6 + (x.^5)/120line(x, y2, marker, o)line(x, x, linestyle, --)axis ([ 0 5 -1 5])legend(sin(t), Aproximacion3erorden, lineal)
    • Objetos gráficos Podemos añadir objetos algrafico actual: xlabel(etiqueta del eje x) ylabel(etiqueta eje y) title(titulo del grafico) text (x, y, texto) Si x e y son vectores, el textose repite. Si texto es unamatrix de cadenas, de lamisma dimensión que x e y, sesitúa cada texto en unaposición gtext(texto): la posición seindica con el ratón. (solo en Matlab)
    • Comandos para los Gráficos En primer lugar, comandos genéricos ycomandos orientados a gráficosbidimensionales: – figure(n): Lasrepresentaciones de gráficos en matlabse realizan en ventanas graficas. En unmomento dado puede haber variasventanas graficas abiertas. La funciónfigure se utiliza para abrir una nuevaventana grafica que será numerada deacuerdo con el parámetro, o bien, si yaexiste una ventana con ese numero, seconvertirá en la ventana graficaactiva, donde se realizará la próximarepresentación grafica. – clf: Limpia la ventana gráfica activa. – close(n): Para cerrar una ventanagráfica. close all cierra todas las ventanasgráficas. – title: permite añadir untítulo a la grafica – xlabel: añadir una etiquetaal eje horizontal de la grafica – ylabel: añadir etiqueta al ejevertical – grid: añadir una rejilla – axis: permite modificar loslímites de los ejes horizontaly vertical – text: añadir un texto en unaposición cualquiera de lagrafica – gtext: igual que text peropermite seleccionar laubicación del texto medianteel ratón.
    • La versión 3D de plot esplot3(u1, v1, w1, c1, u2, v2, w2, c2,…)Donde uj, vj, y wj son las coordenadas x, y, y z, respectivamente, de unpunto.Son escalares, vectores de la misma longitud, matrices del mismoorden, o expresiones que, cuando se evalúan, resultan en una de esascantidades. Para dibujar un conjunto de n líneas sin conectar cuyospuntos finales son(x1j,y1j,z1j) y (x2j,y2j,z2j), j = 1, 2, …, n• Así, plot3 esy = y y … y j = ,x1 = […]; x2 = […];y1 = […]; y2 = […];z1 = […]; z2 = […];plot3([x1; x2], [y1; y2], [z1; z2])donde [x1; x2], [y1; y2], y [z1; z2] son matrices de(2×n)
    • Todos los procedimientos de anotación descritas para losgráficos 2D son aplicables a las funciones de generación decurvas y superficies 3D, excepto que los argumentos de text seusatext(x, y, z, s)donde s es un string yzlabelse usa para etiquetar el eje z
    • function BoxPlot3(x0, y0, z0, Lx, Ly, Lz)x = [x0, x0, x0, x0, x0+Lx, x0+Lx, x0+Lx, x0+Lx]; %(1×8)y = [y0, y0, y0+Ly, y0+Ly, y0, y0, y0+Ly, y0+Ly]; %(1×8)z = [z0, z0+Lz, z0+Lz, z0, z0, z0+Lz, z0+Lz, z0]; %(1×8)index = zeros(6,5);index(1,:) = [1 2 3 4 1];index(2,:) = [5 6 7 8 5];index(3,:) = [1 2 6 5 1];index(4,:) = [4 3 7 8 4];index(5,:) = [2 6 7 3 2];index(6,:) = [1 5 8 4 1];for k = 1:6plot3(x(index(k,:)), y(index(k,:)), z(index(k,:)))
    • Ejemplo: Onda senoidal sobre unasuperficie de un cilindro Las coordenadas de una ondasenoidal sobre la superficie de uncilindro se obtiene con x = b cos(t) si a=10.0 y = b sin(t) b=1.0 z = ccos(at) c=0.3 0<=t<=2pi, el scrip es t = linspace(0, 2*pi, 200); a = 10; b = 1.0; c = 0.3; x = b*cos(t); y = b*sin(t); z = c*cos(a*t); plot3(x, y, z, k) axis equal
    • Matlab contiene un conjunto de funciones gráficas 3D para crearsuperficies, contornos, y variaciones, así como especializaciones deesas formas básicas • Una superficie se define por la expresiónz = f (x, y)donde x e y son las coordenadas en el plano-xy y zes la altura resultante.Las funciones básicas de graficación de superficies sonsurf(x, y, z) y mesh(x, y, z) donde x, y, z son las coordenadas de lospuntos en la superficie.surf – dibuja una superficie compuesta de parches de colores quedependen de la magnitud zmesh – dibuja parches de superficies blancas que sedefinen por su contorno.
    • Ejemplos de superficies Se requiere dibujar unasuperficie definida por definidaen el rango −3 < x < 3 y −3 < y <13 Se genera la funciónSurfExample para calcular las z(x, y) = x4 + 3x2 + y2 - 2x - 2 y -2x2 y + 6 coordenadas x, y ,z function [x, y, z] = SurfExample x1 = linspace(-3, 3, 15); % (1×15) y1 = linspace(-3, 13, 17); % (1×17) [x, y] = meshgrid(x1, y1); %(17×15)z = x.^4+3*x.^2−2*x+6-2*y.*x.^2+y.^2-2*y; % (17×15)
    • Gráficos de contornos Las superficies también sepueden transformar engráficos de contornos, queson gráficos de curvasformadas por la intersecciónde la superficie y un planoparalelo al plano xy envalores específicos de z Las funciones surfc(x, y, z) ymeshc(x, y, z) creansuperficies con contornosproyectados debajo de lasuperficie. x, y, z son losvalores de las coordenadas depuntos que definen lasuperficie Se pueden crear contornossin visualizar lasuperficie, con etiquetas osin etiquetas La funcióncontour(x, y, z, v) crea ungráfico de contorno dondex, y, z son las coordenadasde los puntos que definenla superficie v, si es unescalar, es el número deniveles de contornos avisualizar y, si es un vectorde valores, los contornosde la superficie en losvalores de z. El uso de v esopcional.
    • Si se quiere etiquetar el contorno se usan las funciones[C, h] = contour(x, y, z, v)clabel(C, h, v)
    • Gráficos de contornos 3D Para obtener los contornosde superficies en 3D, se usacontour3(x, y, z, v) dondex, y, z son las coordenadasde los puntos de lasuperficie v, si es unescalar, es el número deniveles de contornos avisualizar y, si es un vectorde valores, los contornosde la superficie en losvalores de z. El uso de v esopcional Para etiquetar loscontornos se usa [C, h] =contour3(x, y, z, v)clabel(C, h, v)
    • Para una esfera de radio a y un elipsoide con su ejemayor en la dirección x igual a 2a, eje menor en ladirección y igual a 2b, y un eje menor en la direcciónz igual a 2c, la proporción del volumen de un elipsoidecon relación al volumen de una esfera esSe crea el siguiente programa para mejorar lacomprensión de un gráfico de V como función de b/apara varios valores de c/a
    • mejora de gráficos 2D conobjetos 3D (código) b = [0.5, 1]; c = b;for k = 1:2plot(b, b*c(k), k-)text(0.75, (b(1)*c(k)+b(2)*c(k))/2-0.02, [c/a =num2str(c(k))])hold onendxlabel(b/a) ylabel(V)for k = 1:4Kswitch case 1axes(position, [0.12, 0.2, 0.2, 0.2])[xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(1), 20);mesh(xs, ys, zs)text(0, 0, 1, [b/a = num2str(b(1)) c/a = num2str(c(1))])case 2axes (position, [0.1, 0.5, 0.2, 0.2])[xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(2), 20);mesh (xs, ys, zs)text (0, 0, 1.5, [b/a = num2str(b(1)) c/a = num2str(c(2))]) case 3axes (position, [0.7, 0.65, 0.2, 0.2])[xs, ys, zs] =ellipsoid(0, 0, 0, 1, b(2), c(2), 20);mesh (xs, ys, zs)text (-1.5, 0, 2, [b/a = num2str(b(2)) c/a = num2str(c(2))])case 4axes (position, [0.7, 0.38, 0.2, 0.2])[xs, ys, zs] =ellipsoid(0, 0, 0, 1, b(2), c(1), 20);mesh (xs, ys, zs)text (-1.5, 0, 1.5, [b/a = num2str(b(2)) c/a = num2str(c(1))])endcolormap([0 0 0])axis equal offend
    • GRACIAS POR VERESTE TRABAJO