PDF de programación - Imágenes y gráficas en MATLAB

Imágen de pdf Imágenes y gráficas en MATLAB

Imágenes y gráficas en MATLABgráfica de visualizaciones

Actualizado el 24 de Octubre del 2020 (Publicado el 6 de Julio del 2017)
2.038 visualizaciones desde el 6 de Julio del 2017
100,3 KB
6 paginas
Creado hace 16a (04/03/2008)
Im´agenes y gr´aficas en MATLAB

Sistemas Conexionistas - Curso 07/08

1.

Im´agenes

Matlab dispone de comandos especiales para trabajar con im´agenes de diversos formatos

(pgm, ppm, gif, png, . . . ).

imread Lee una imagen en color o escala de grises.

IM = imread(filename)

La imagen es almacenada en la matriz IM. Las im´agenes en escala de grises se alma-

cenan en matrices bidimensionales del mismo tama˜no que la imagen, mientras que en

las im´agenes en color, la matriz es tridimensional ya que cuenta con una submatriz

del mismo tama˜no que la imagen en cada canal RGB.

Si los colores de la imagen est´an indexados (por ejemplo las im´agenes con formato

gif), la lectura de la imagen se realiza de la siguiente forma:

[IM map] = imread(filename)

donde map es una matriz que almacena el mapa de colores de la imagen le´ıda.

imwrite Escribe una imagen a fichero.

imwrite(IM, filename)

Si el fichero incluye la extensi´on no es necesario indicar el formato de la imagen.

Para mostrar una imagen por pantalla, Matlab dispone de las funciones image e imagesc.

Su sintaxis es:

image(IM)

imagesc(IM)

donde IM se corresponde con una matriz que representa una imagen. Si no se especifica

ning´un mapa de colores, Matlab utilizar´a el mapa por defecto. Matlab dispone de varios

mapas de colores aunque tambi´en es posible utilizar un mapa de colores le´ıdo en una

imagen o definido por el usuario. Para especificar el mapa de colores se utiliza el comando

colormap:

colormap(map)

2. Gr´aficas

2.1. Funciones en dos dimensiones

Para dibujar funciones de una variable, Matlab dispone de la funci´on plot, con la siguiente

sintaxis:

plot(Y) Dibuja la gr´afica que toma los ´ındices de Y como valores en el eje x y las

columnas de Y como valores en el eje y.

plot(x1,y1, ...) Une con una l´ınea todos los pares de la forma (xn,yn)

plot(X,Y) Si X e Y son vectores, dibuja las columnas/filas de X con respecto a las

columnas/filas de Y.

plot dispone de argumentos opcionales que permiten especificar el tipo de l´ınea que se

dibuja, as´ı como su color y el tipo de marcador para los puntos dibujados:

plot(X,Y, ’--r’) Dibuja una l´ınea discontinua en rojo

plot(X,Y, ’s’) Dibuja s´olo los puntos como cuadrados

plot(X,Y, ’+r’) Dibuja s´olo los puntos como cruces en rojo

plot(X,Y, ’g’) Dibuja una l´ınea continua en verde

2

Es posible configurar ciertos aspectos de las gr´aficas, entre otros:

title(string) Establece la cadena string como t´ıtulo de la gr´afica

xlabel(string) Establece la cadena string como etiqueta del eje x de la gr´afica

ylabel(string) Establece la cadena string como etiqueta del eje y de la gr´afica

axis Controla la apariencia y escala de los ejes. Presenta varias opciones

Manipulaci´on de ventanas de figura

Al utilizar la funci´on plot, Matlab abre autom´aticamente una ventana de figura que se

sobreescribe si se vuelve a llamar a otra funci´on de dibujo. El comando figure permite

abrir nuevas ventanas de figura. Su sintaxis es:

h = figure

figure devuelve un identificador que se utiliza para manipular la figura. As´ı, si tenemos

varias ventanas de figura abiertas, con figure(h2) seleccionamos la figura relativa al iden-

tificador h2 y con close(h3) cerramos la ventana h3. close all cierra todas las ventanas

de figura abiertas.

Subfiguras

El comando subplot permite dibujar varias gr´aficas en una misma ventana de figura. Su

sintaxis es la siguiente:

subplot(m,n,p)

Con este comando, la ventana de figura actual se descompone en una matriz de m x n

subfiguras y se selecciona la subfigura n´umero p para ser utilizada.

3

x = 0:0.1:2*pi;

y1 = sin(x);

y2 = cos(x);

subplot(2,1,1)

plot(x,y1)

title(’y =

sin(x)’);

subplot(2,1,2)

plot(x,y2)

title(’y =

cos(x)’);

Superposici´on de gr´aficas

Para dibujar varias gr´aficas en una misma figura/subfigura, se utiliza la funci´on hold on.

Para dejar de dibujar en la misma figura/subfigura, se utiliza hold off.

x = 0:0.1:2*pi;

y1 = sin(x);

y2 = cos(x);

plot(x,y1)

hold on;

plot(x,y2, ’r’)

hold off;

2.2. Funciones en tres dimensiones

Gr´aficas de l´ıneas/puntos

La funci´on plot3 dibuja l´ıneas y puntos en 3D. Su sintaxis es similar a la funci´on plot:

plot3(x,y,z) Dibuja una l´ınea en el espacio 3D a trav´es de los puntos cuyas coor-

denadas son los elementos de los vectores x,y,z.

4

plot3(x,y,z,linedef) Dibuja una l´ınea en el espacio 3D a trav´es de los puntos

cuyas coordenadas son los elementos de x,y,z teniendo en cuenta las caracter´ısticas

definidas en linedef.

t = 0:pi/50:10*pi;

plot3(sin(t),cos(t),t, ’r’);

Gr´aficas de superficies

La funci´on mesh dibuja superficies 3D a partir de matrices. El comando mesh(Z) dibuja los

valores de la matriz Z sobre sus coordenadas. Los valores de Z se muestran como la altura

sobre la rejilla xy.

Z = [0 0.5 0; 0.5 1 0.5; 0 0.5 0];

mesh(Z)

Con mesh(X,Y,Z) se muestra la matriz Z sobre las coordenadas de la rejilla especificada

por las matrices X e Y. Para crear estas matrices se utiliza el comando meshgrid:

[X, Y] = meshgrid(x,y)

donde x e y son los vectores base a partir de los cuales se construye la rejilla. Las filas de

la matriz de salida X son copias del vector x y las columnas de la matriz de salida Y son

copias del vector y.

La funci´on contour dibuja las curvas de nivel de la superficie pasada como par´ametro. Se

usa de forma similar a mesh.

5

x = -2:0.1:2;

y = -2:0.1:2;

[X,Y] = meshgrid(x,y);

Z = X.*exp(-X.^2 - Y.^2);

subplot(1,2,1);

mesh(X,Y,Z);

subplot(1,2,2);

contour(X,Y,Z);

3. Ejercicios

1. Dibujar la funci´on y = x ∗ e−x2 con x variando entre -5 y 5 a intervalos de 0.05
2. Dibujar en una sola ventana con dos subventanas las funciones y = x2 − 3x − 2 y
z = x3 − 2x + 1 con x variando entre -5 y 5 a intervalos de 0.02. La primera en l´ıneas
verdes continuas, la segunda en lineas azules discontinuas. Marcar con un ’+’ rojo el

punto (2,1) en ambas gr´aficas.

3. Dibujar la superficie de la funci´on z = sin(x) + cos(y) donde x e y var´ıan entre -5 y

5 a intervalos de 0.1.

6
  • Links de descarga
http://lwp-l.com/pdf4931

Comentarios de: Imágenes y gráficas en MATLAB (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad