Está en la página 1de 17

UMSA

4.-

MATLAB

Fac. de Ingeniera

GRAFICOS.-

4.1 Grficos Bidimensionales :


4.1.1

Funciones grficos 2D elementales |:

Matlab dispone de cuatro funciones bsicas para crear grficos 2-D. Estas funciones se
diferencian principalmente por el tipo de escala que utiliza en los ejes de abscisas y de
ordenadas, estas cuatro funciones son las siguientes.
Plot()

Crea un grafico a partir de vectores y/o columnas de matrices , con escalas


lineales sobre ambos ejes.

Loglog()

Idntica ala anterior con escala logartmica.

Semilogx()

Idntica con escala lineal en el eje de las ordenadas y logartmica en el eje de


las abscisas.

Semilogy()

Idntica con escala lineal en el eje de las abscisas y logartmica en el eje de


las ordenadas.

Existen otras funciones orientadas a aadir ttulos al grfico , a cada uno de los ejes , a
dibujar una cuadricula auxiliar , a introducir texto , etc.
Estas funciones son las siguientes :
Title('titulo') Aade un titulo al dibujo.
Xlabel(' ')

Aade una etiqueta al eje de las abscisas , con xlabel off desaparece

Ylabel(' ')

Aade una etiqueta al eje de ordenadas , con ylabel off desaparece

Text(x,y,' ') Introduce 'texto ' en el lugar especificado por las coordenadas x e y . Si x
e y son vectores, el texto se repite por cada par de elementos . Si texto es
tambin un vector de cadenas de texto de la misma dimensin , cada
elemento se escribe en las coordenadas correspondientes.
Gtext(' ')

Introduce texto con ayuda del ratn :el cursor cambia de forma y se espera
un clik para introducir un texto en esa posicin .

Legend()
Grid

Define rtulos para las distintas lneas o ejes utilizados en la figura .


activa la inclusin de una cuadricula en el dibujo.

Plot(A)

Dibuja una linea por cada columna de A en ordenadas , frente al indice de


los elementos en abscisas.

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

Plot(x,A)

Dibuja las columnas (o filas ) de A en ordenadas frente al vector x en


abscisas ,.Las dimensiones de A y x deben ser coherentes: si la matriz A es
cuadrada se dibuja las columnas , pero si no los es y la dimensin de las filas
coincide con la de x , se dibujan las filas.

Plot(A,x)

Anlogo al anterior, pero dibujando las columnas (o filas )de A en abscisas ,


frente al valor de x en ordenadas.

Plot (A,B)

Dibuja las columnas de B en ordenadas frente a las columnas de A en


abscisas, dos a dos , Las dimensiones deben coincidir.

Plot(A,B,C,D) Anlogo al anterior para cada par de matrices . Las dimensiones de cada par
deben coincidir , aunque pueden ser diferentes de las dimensiones de los
dems pares.
Como un ejemplo de la aplicacin de estos comandos tenemos el siguiente grafico
utilizando el comando plot con introduccin de texto con text:
%Grafico de las funciones
seno y coseno
t=0:0.05:10;
y=sin(t);
z=cos(t);
plot(t,y,t,z)
grid
title('Graficas del seno y del
coseno')
xlabel('seg')
ylabel('y=seno(t)-Z=coseno(t)')
text(3,0.45,'sen(t)')
text(0.8,-0.3,'cos(t)')

4.1.2

Estilo de lnea y marcadores en la funcin plot :

En complemento a lo antes visto podemos decir que el conjunto bsico de la funcin plot()
es una tripleta formada por dos vectores y una cadena de 1,2 o 3 caracteres que indican el
color el tipo de lnea o de marker.
En la tabla siguiente se pueden observar las distintas posibilidades.
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Smbolo
Y
M
C
R
G
B
W
K

Color
Amarillo
Magenta
Cyan
Rojo
Verde
Azul
Blanco
Negro

Smbolo
:
-.
--

Estilo de lnea
Lneas continuas
Lneas a puntos
Lneas a barra y punto
Lneas a trazo

Smbolo
.
0
X
+
*
S
D
^
V
>
<
P
H

Fac. de Ingeniera

Marcadores
Puntos
Circulos
Marcas en x
Marcas en +
Marcas en *
Marcas cuadradas
Marcas en diamante
Triangulo apuntado arriba
Triangulo apuntado abajo
Triangulo apuntado ala derecha
Triangulo apuntado ala izquierda
Estrella de cinco puntas
Estrella de seis puntas

Realicemos como un ejemplo de aplicacin la grafica de la funcin seno trazada con


crculos y de color rojo , para lo cual tenemos el siguiente programa.
%Funcin seno
t=0:0.1:10;
y=sin(t);
%Fraficada con
color rojo y los
puntos en forma
de circulos
plot(t,y,'r o')
grid
title('Grafica del
seno ')
xlabel('seg')
ylabel('y=seno(t)'
)
text(3,0.45,'sen(t)
')

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA
4.1.3

MATLAB

Fac. de Ingeniera

Comando subplot

Este comando nos ayuda a particionar la ventana grafica tanto en el eje horizontal como en
el vertical , esto con el objeto de representar mltiples grficos en ella.
Cada una de estas sub-ventanas tienen sus propios ejes coordenados , el comando que nos
ayuda a realizar esta operacin en:
>> subplot (m,n,i)
Donde m y n son el numero de subdivisiones en filas y columnas , e i es la subdivisin que
se convierte en activa.
Por ejemplo tenemos el siguiente programa.
x=0:0.1:10;
y=sin(x); z=cos(x);
w=exp(-x*.1).*y; v=y.*z;
subplot(2,2,1)
plot(x,y)
subplot(2,2,2)
plot(x,z)
subplot(2,2,3)
plot(x,w)
subplot(2,2,4)
plot(x,v)

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

Al igual podemos aumentar ttulos a cada uno de los grficos , poner nombres a sus
respectivos ejes , cuadricular cada uno de los grficos , adems de cambiar el tipo de
propiedades de grficos como el tipo de lnea , el color adems de agregar textos al interior
del grafico.
4.1.4

Entrada de puntos con el ratn :

Se realiza mediante la funcin ginput , que permite introducir las coordenadas del punto
sobre el que esta el cursor , al clicar.
Algunas formas de utilizar esta funcin son las siguientes :
[x,y] =ginput
[x,y]=gimput(n)
[x,y,bot] =ginput

Lee un numero indefinido de puntos cada vez que se clica o pulsa una
tecla cualquiera hasta que se termine pulsando la tecla intro.
Lee las coordenadas de n puntos.
Igual que el anterior , pero devuelve tambin el vector de enteros bot
con cdigo ASCII de la tecla pulsada o el numero del botn del ratn
(1,2,...) con el que se ha clicado.

Como un ejemplo de aplicacin tenemos el siguiente programa usando los comandos ya


indicados anteriormente
%Introduccin de 4 puntos con
el ratn
para dibujar una figura definida
con esos 4 puntos
clf
[x,y]=ginput(4);
figure(gcf)
plot(x,y,'w')
pause(5)
fill(x,y,'r')

En este ejemplo sea introducido 4 puntos con el ratn , adems de unir estos puntos y
graficarlos, se dio un fondo de color blanco con el comando plot(x,y,w) y el relleno de la
figura resultante de unir los 4 puntos se lo izo con color rojo esto con el comando
fill(x,y,r).
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control

Ajtic81@hotmail.com

UMSA
4.1.5

MATLAB

Fac. de Ingeniera

Otras funciones graficas 2D.-

Existen otras funciones graficas bidimensionales orientadas a generar otro tipo de grficos.
distintos de los que produce la funcin plot los cuales son los siguientes.
Bar()
Barh()
Bar3()
Bar3h()
Pie()
Pie3()
Area()
Stairs()
Errorbar()
Compass()
Feather()
Hist()
Rose()
Quiver()

Crea diagramas de barras


Diagrama de barras horizontales.
Diagrama de barras con aspecto 3D
Diagrama de barras horizontales con aspecto 3D
Grfico con forma de tarta
Grfico con forma de tarta y aspecto 3D
Similar a plot() pero rellenado en ordenadas de 0 a y
Funcin anloga a bar() sin lneas internas
Representa sobre una grafica mediante barras valor de errores
Dibuja los elementos de un vector complejo como un
conjunto de vectores partiendo de un origen comn.
Dibuja los elementos de un vector complejo como un
conjunto de vectores partiendo de orgenes uniformemente
espaciados sobre el eje de las abscisas
Dibuja histogramas de un vector.
Histograma de ngulos en radianes
Dibujo de campos vectoriales como conjunto de vectores

4.2 Grficos tridimensionales .Entre las aplicaciones graficas podemos ver que esta es una cualidad muy interesante que
posee el Matlab , siendo deslumbrante para las personas que no se interesan en la parte
tcnica , llegando a ser esta relevante por tener aplicaciones tcnicas muchsimo mas
complicadas en las cuales Matlab hace realzar su verdadera potencia de trabajo.
4.2.1 Funcin plot3.
La funcin plot3 es anloga a su homologa bidimensional plot su forma mas sencilla de
uso es:
>> plot3(x,y,z)
Que dibuja una lnea que une los puntos de interseccin al igual que lo hacemos con la
funcin plot.
Al igual que lo hacamos con la funcin plot podemos introducir una cadena de tres
caracteres , con los cuales determinamos el color el marcador y el tipo de letra.
A continuacin presentamos un pequeo grafico, con su correspondiente programa.
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

%vector tiempo
t=[0:1:100];
%Eje x
x=t;
%Eje y
y=sin(0.1*t);
%Eje z
z=cos(0.2*t);
plot3(x,y,z)
grid

4.2.2

Funcin meshgrid,mesh,surf.-

Con esto podemos dibujar una funcin en dos variables sobre el dominio rectangular.
(z=f(x,y)).
Sean x ,y dos vectores que contienen las coordenadas sobre la que se dibujara la funcin
creamos dos matrices X,Y con la funcin meshgrid , estas representan las
coordenadas x,y de todos los puntos de la retcula.
La matriz Z se calcula apartir de las matrices X,Y finalmente dibujo la matriz Z con
ayuda del comando mesh .
Como ejemplo de aplicacin tenemos:
.close all
.u=-8:0.5:8; v=u;
[U,V]=meshgrid(u,v);
R=sqrt(U.^2+V.^2)+eps
W=sin(R)./R;
.mesh(W)

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

%eps numero pequeo

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

close all
%Vector
u=-8:0.5:8;
v=u;
%meshgrid
[U,V]=meshgrid(u,v);
%Funcin
R=sqrt(U.^2+V.^2)+eps;
W=sin(R)./R;
mesh(W)

Ahora trabajemos con el comando surf.


4.2.3

Dibujo de superficies faceteadas.-

La funcin surf nos presenta facetas o polgonos coloreados. Tenemos otras tres
posibilidades de realizar las mismas.
Shading flat
Shading interp
Shading faceted

Determina sombreado con color constante para cada polgono.


Establece que el sombreado se calculara por interpolacin de colores
entre los vrtices de la faceta
Consiste en sombreado constante con lneas negras superpuestas.

Realice la prueba con el programa:


x=[-3:0.2:3];
y=x;
[X,Y]=meshgrid(x,y);
Z=test3d(X,Y);
figure(gcf)
mesh(Z)
pause(5)
surf(Z)
Siendo test3d un funcin la cual esta dado como un archivo conteniendo este
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control
Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

function z=test3d(x,y)
z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp((x+1).^2-y.^2);
Eliminando la funcin mesh , bastando poner la sentencia shading a continuacin de la

Pause de 5 segundos luego.

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA
4.2.4

MATLAB

Fac. de Ingeniera

Funciones contour y contour3.-

Es una forma distinta de presentar funciones tridimensionales, estas realizadas por medio
de isolineas o curvas de nivel.
Estas realizadas con matrices predefinidas demos como ejemplo las matrices y las
funciones:
>> Z=[1 2 3;4 5 6;7 8 9];
>> W=[1 4 7;2 5 8;3 6 9];
>> contour(Z,20)
>> contour3(Z,20)
>> contour3(W,20)
>> contour(W,20)
Contour(Z,20)

Contour3(Z,20)

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Contour(W,20)

Contour3(W,20)

Ajtic81@hotmail.com

UMSA

contour(x,y,z,n)
contour3(x,y,z,n)

MATLAB

Fac. de Ingeniera

La funcin contour dibuja las


proyecciones sobre el plano XY
de las lneas de nivel (isovalores)
La funcin contour3 dibuja las
lneas de nivel sobre la misma
superficie
En ambos casos n es el nmero
de lneas a dibujar.
Se puede usar la funcin
colorbar para aadir a la grfica
una barra con la graduacin de
colores y la
correspondencia con los valores
de la funcin representada. (Esta
funcin puede ser usada con
cualquier otra funcin grfica
que utilice colores).

Como un ejemplo mas de aplicacin a curvas en el espacio tenemos el comando ezplot3 ( )


donde
x , y , z son tres cadenas de caracteres
conteniendo las expresiones de tres
funciones
ezplot3(x,y,z)
x(t) , y(t) , z(t) dibuja la curva de
ecuaciones paramtricas x=x(t) y=y(t)
ezplot3(x,y,z,[a,b]) z=z(t) para t en el intervalo [0,2], en
el primer caso y para t en el intervalo
[a,b] en el segundo
Ejemplo:
>>
ezplot3('3*cos(t)','t*sin(t^2)','sqrt(t)')

Como ejemplos de aplicacin tenemos los siguientes grficos realizados con otros
comandos tiles en Matlab.
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control

Ajtic81@hotmail.com

UMSA
4.3

MATLAB

Fac. de Ingeniera

Curvas planas.-

El comando ms fcil de usar de que dispone MATLAB para dibujar curvas planas
definidas por una frmula
matemtica (no por un conjunto de valores) es el comando ezplot, que puede ser usado de
varias formas.
Donde
f es una cadena de caracteres
conteniendo la expresin de una funcin
y=f(x) dibuja la funcin y=f(x) para x en
el intervalo
[-2,2]
ezplot(f)
Ejemplo:
>> ezplot('2*sin(x/2)*cos(3*x)')

Lo mismo que la anterior para x variando


en el intervalo [a,b]
ezplot(f,[a,b])

Ejemplo:
>> ezplot('2*sin(x/2)*cos(3*x)',[0,pi/2])

ezplot(f)
ezplot(f,[a,b])

Si f es una expresin de (x,y), dibuja la


curva implcitamente definida por
f(x,y)=0, para x e y variando en el
intervalo [-2,2] en el primer caso y
para x e y variando en el intervalo [a,b]
en el segundo caso.
Ejemplo:
>> ezplot('x^2*y-1')

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

Donde
x e y son dos cadenas de caracteres
conteniendo las expresiones de dos
funciones x(t) e y(t) dibuja la curva de
ezplot(x,y)
ecuaciones paramtricas x=x(t) y=y(t)
para t en el intervalo [0,2], en el primer
ezplot(x,y,[a,b]) caso y para t en el intervalo [a,b] en el
segundo
Ejemplo:
>> ezplot('sin(3*t)','cos(t)')

ezpolar(f)
ezpolar(f,[a,b])

4.4

Donde
f es una cadena de caracteres
conteniendo la expresin de una funcin
f() dibuja la curva definida en
coordenadas polares por = f() para
variando en el intervalo [0,2], en el
primer caso y en el intervalo [a,b] en el
segundo
Ejemplo:
>> ezpolar('sin(2*t)*cos(3*t)',[0,pi])

Superficies.-

Tambin podemos realizar superficies con la ayuda de los siguientes comandos , con los
cuales se realizaron los siguientes ejemplos.

ezmesh(f)
ezmesh(f,[a,b])
ezmesh(f,[a,b,c,d])

Donde
f es una expresin de dos variables
dibuja la superficie z=f(x,y) para
(x,y) variando en el cuadrado [-,]
x[-,] en el primer caso, en el
cuadrado [a,b]x[a,b] en el segundo,
y en el rectngulo [a,b]x[c,d] en el
tercer caso. El mtodo de dibujo es
una malla con segmentos
coloreados, en funcin de los
valores en los extremos.
Ejemplo:
>> ezmesh('x*exp(-x^2 - y^2)')

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

Donde
x, y, z son expresiones de
funciones de dos variables dibuja la
superficie de coordenadas
ezmesh(x,y,z)
paramtricas x=x(s,t) y=y(s,t)
z=z(s,t) para (s,t) variando en el
ezmesh(x,y,z,[a,b])
cuadrado [-2,2]x[-2,2] en el
primer caso, en el cuadrado
ezmesh(x,y,z,[a,b,c,d]) [a,b]x[a,b] en el segundo, y en el
rectngulo [a,b]x[c,d] en el tercer
caso
Ejemplo:
>> ezmesh('s*cos(t)','s*sin(t)','t',[pi,pi])
En cualquiera de los usos anteriores,
dibuja la funcin correspondiente
sobre un crculo centrado en el
origen
ezmesh(... , circ)
Ejemplo:
>> ezmesh('x*exp(-x^2 y^2)','circ')

Dibuja las lneas de nivel


(isovalores) de la funcin z=f(x,y)
ezcontour(f)
Ejemplo:
ezcontour(f,[a,b])
>> ezcontour('x*exp(-x^2 - y^2)')
ezcontour(f,[a,b,c,d])

Con los mismos argumentos que


ezmesh, dibuja simultneamente las
lneas de nivel y la superficie
ezmeshc(f)
Ejemplo:
>> ezmeshc('sin(u/2)*sin(v/2)')

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA
4.5

MATLAB

Fac. de Ingeniera

Comandos grficos auxiliares.-

Vamos a ver algunos comandos que modifican el aspecto de un grfico. Veremos su efecto
sobre la grfica.

view(r,e)
En las grficas tridimensionales permite
cambiar el punto de observacin del
objeto representado.
Los valores por defecto son r=-37.5,
e=30
>> view(10,50)

Shading
Determina la forma de utilizar los
colores de las superficies coloreadas:
shading flan la funcin color es
constante a trozos (en cada segmento o
panel)
shading Inter. la funcin color es
bilineal a trozos (en cada segmento o
panel)
shading faceted (es la opcin por
defecto) la funcin color es constante a
trozos (como en flat), pero adems se
superpone el dibujo de la malla con los
segmentos en negro

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

colormap(m)
Permite cambiar el mapa de colores que
se utiliza en la representacin. En
general, m es una matriz con tres
columnas, de modo que la i-sima fila
determina las proporciones, en la escala
RGB, del i-simo color utilizado.
Para ms comodidad, MATLAB dispone
de una serie de mapas de colores predefinidos, que se pueden imponer
mediante colormap(mapa) mapa puede
tomar uno de los valores siguientes:

hsv - la escala por defecto (huesaturation-value).


cool - Gama de colores entre cyan y
magenta.
hot - Gama de colores entre rojo oscuro
y amarillo.
gray - Gama de colores grises.
copper - Gama de colores cobrizos.
pink - Gama de colores rosados.
Auxiliar : Univ.Paye Ticona Victor Humberto
Sistemas de Control

Ajtic81@hotmail.com

UMSA

MATLAB

Fac. de Ingeniera

flag - Alterna rojo blanco azul negro.


colorcube - Contraste de colores.
autumn - Colores entre el rojo y el
amarillo.
spring - Colores entre el magenta y el
amarillo.
winter - Colores entre el azul y el verde.
summer - Colores entre el verde y el
amarillo.
...
para ms mapas ver help graph3d

Auxiliar : Univ.Paye Ticona Victor Humberto


Sistemas de Control

Ajtic81@hotmail.com

También podría gustarte