Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4.-
MATLAB
Fac. de Ingeniera
GRAFICOS.-
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()
Loglog()
Semilogx()
Semilogy()
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(' ')
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
Plot(A)
Ajtic81@hotmail.com
UMSA
MATLAB
Fac. de Ingeniera
Plot(x,A)
Plot(A,x)
Plot (A,B)
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
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
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)
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
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.
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
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()
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)
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)
La funcin surf nos presenta facetas o polgonos coloreados. Tenemos otras tres
posibilidades de realizar las mismas.
Shading flat
Shading interp
Shading faceted
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
Ajtic81@hotmail.com
UMSA
4.2.4
MATLAB
Fac. de Ingeniera
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)
Contour(W,20)
Contour3(W,20)
Ajtic81@hotmail.com
UMSA
contour(x,y,z,n)
contour3(x,y,z,n)
MATLAB
Fac. de Ingeniera
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)')
Ejemplo:
>> ezplot('2*sin(x/2)*cos(3*x)',[0,pi/2])
ezplot(f)
ezplot(f,[a,b])
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)')
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')
Ajtic81@hotmail.com
UMSA
4.5
MATLAB
Fac. de Ingeniera
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
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:
Ajtic81@hotmail.com
UMSA
MATLAB
Fac. de Ingeniera
Ajtic81@hotmail.com