Você está na página 1de 57

Centro de Estudios Energticos

Departamento de Ingeniera Mecnica


Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Introduccin al MatLab y
Simulink

Elaborado por: Prof. Edgar Gutirrez, Ing. MSc.


http://edgar-gutierrez.blogspot.com/

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Contenidos:

Introduccin al Curso.
Fundamentos del MatLab.
Grficas con MatLab.
Algebra Lineal.
Integracin y Diferenciacin Numrica.
Races de Ecuaciones no Lineales.
Resolucin de Ecuaciones Diferenciales.
Simulink de MatLab.
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Resumen de Comandos para Graficar.

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones Grficas 2D.

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones Grficas 3D.

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin Plot.
Grafica lineal simple, y la estructura es la siguiente:
plot(x,y)
grafica y vs x.
plot(y)
grafica la columna de y vs su subndice.
plot(x1,y1,S1,x2,y2,S2,x3,y3,S3,...)
Grafica en una sola
grfica las curvas x1 vs y1, x2 vs y2, x3 vs y3 y las identifica
con S1, S2, S3, El identificador es una cadena de tres
caracteres como mximo. Los caracteres del identificador son:

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin Plot.
Ejemplo:
x=linspace(0,2*pi,20);
y=sin(x);z=cos(x);
plot(x,y,b:,x,z,rv);

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Caracterstica de la Ventana Grfica


Barra de
herramientas

Ejemplo:
x = [0:.2:20];
y = sin(x)./sqrt(x+1);
y(2,:) = sin(x/2)./sqrt(x+1);
y(3,:) = sin(x/3)./sqrt(x+1);
plot(x,y)

Ventana de grfica Anclar/desanclar del


de Matlab
desktop de Matlab

Para acceder al editor de


las grficas se puede
hacer desde la grfica
mediante el men, o
usando el comando:

plottools
Eje coordenado
Introduccin al MatLab y Simulink

Grficas

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Modificacin de Caractersticas por comandos


Se pueden modificar:
Tipo de letra.
Tamao de letra.
Anchura de las lneas.
Letras griegas.
Ejemplo:
t=0:.05:2*pi;
w=1;
x=cos(w*t);
plot(t,x,r,LineWidth,4);
title(Grafica x_1 con \omega=1);
text(2,0.2,COS,fontname,arial,fontsize,14);
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Anotaciones sobre las Grfica


xlabel, ylabel, zlabel: Anota una cadena de carcter en los ejes
respectivos. La estructura es la siguiente:
xlabel(Eje x);
h=xlabel(Eje x);
ylabel(Eje y);
La variable h almacena un valor que si es -1
indica que no se ejecut el comando
zlabel(Eje z);
title: Anota un a cadena de carcter como titulo de un grfico. La
estructura es la siguiente:
h=title(Titulo);
title(Titulo);
La variable h almacena un valor que si es -1
indica que no se ejecut el comando

text: Anota un texto dentro de la grfica. La estructura es:


text(x,y,Texto); %x,y coordenada en el plano
text(x,y,Texto); %x,y,z coordenada en el espacio
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Anotaciones sobre las Grfica


gtext: Anota una cadena de
carcter con el mouse. La
estructura es:
gtext(Texto')
texlabel: Anota una cadena de
carcter en formato TeX. La
estructura es:
texlabel(f)
texlabel(f,'literal')
Ejemplo:
text(.5,.5,texlabel('lambda12^(3/2)/pi - pi*delta^(2/3)'));
text(.25,.25,texlabel('lambda12^(3/2)/pi - pi*delta^(2/3)','literal'));
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Anotaciones sobre las Grfica


legend: Muestra la leyenda de
las curvas graficadas. La
estructura es:

legend('string1','string2',...)
legend('string1','string2',...,'Location',location)
h = legend('string1','string2',...)

La h es una cadena que se usa para


etiquetar el grfico.
grid: Activa do desactiva la rejilla
de la figura.
grid on: Activa la rejilla mayor de los ejes.
grid off: Desactiva la rejilla mayor (principal)
y menor (secundaria) de los ejes.
grid minor: Cambia a la rejilla menor.
grid: Cambia a la rejilla mayor.

Especificador

Localizacin en el cuadro

North

Interior superior

South

Interior inferior

East

Interior derecho

West

Interior izquierdo

NorthEast

Interior superior derecho

NorthWest

Interior superior izquierdo

SouthEast

Interior inferior derecho

SouthWest

Interior inferior izquierdo

NorthOutside

Exterior superior

SouthOutside

Exterior inferior

EastOutside

Exterior derecho

WestOutside

Exterior izquierdo

NorthEastOutside

Exterior superior derecho

NorthWestOutside

Exterior superior izquierdo

SouthEastOutside

Exterior inferior derecho

SouthWestOutside

Exterior inferior izquierdo

Best

La mejor ubicacin interior

BestOutside

La mejor ubicacin exterior

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Anotaciones sobre las Grfica


Ejemplo:
x = -pi:pi/20:pi;
plot(x,cos(x),'-ro',x,sin(x),'-.b');
h = legend('cos_x','sin_x',2);
set(h,'Interpreter','none')

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Otros Parmetros de Modificacin de Grfica


Axis: Controla la escala de los ejes coordenados y apariencia. Las
estructura es la siguiente:
axis([XMIN XMAX YMIN YMAX]): escala los ejes x, y del plot actual.
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) : escala los ejes x, y, z de plot
3D actual.
axis auto: Retorna los ejes a la escala por defecto.
axis equal: Iguala los ejes coordenados.
axis off: Desactiva las etiquetas de los ejes, marcas de graduacin y fondo.
axis on: Reactiva las etiquetas de los ejes, marcas de graduacin y fondo.

Hold: Mantiene el grfica actual:


hold on: Mantiene la caractersticas actual y las propiedades de los ejes para
la siguiente operaciones de grficas.
hold off: Regresa a las propiedades por defectos.
hold all: Mantiene las caractersticas, color y estilos para las siguientes
operaciones.
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Otros Parmetros de Modificacin de Grfica


Figures: Crea una ventana grfica. Las estructura es la siguiente:
figure(H): H es el un nmero entero que representa la ventana grfica
activa.

Gcf: Devuelve el identificador de la grfica actual activa.


H=gcf: H almacena el valor de la grfica activa.

Get: Obtiene las propiedades del objeto.


v=get(H,'PropertyName'): Devuelve en v las propiedades del grfico H.
v=get(H,'Default'): Devuelve en v las propiedades por defecto del grfico H.

Set: Establece las propiedades del objeto.


set(H,'PropertyName',Value): Establece el valor de la propiedad en la grfica H.
Para varias grfica H es un vector.
set(H,'PropertyName1',Value1,'PropertyName2',Value2,...): Establece el valor de
varias propiedad en la grfica H.
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Subplot
Crea varias grficas en una misma figura. Las estructura es la siguiente:
H=supplot(m,n,p): Crea varias
figuras en una ventana grfica
posicionada en forma matricial
mxn y p representa la ubicacin
de la figura
Ejemplo:
income = [3.2 4.1 5.0 5.6];
outgo = [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(income);
title('Income');
subplot(2,1,2); plot(outgo);
title('Outgo')

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Subplot

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Subplot

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Subplot

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Subplot
Ejemplo:
Figure
for i=1:12
subplot(12,1,i);
plot (sin(1:100)*10^(i-1));
set(gca,'xtick',[],'ytick',[]);
End
% Resetea los eje y se crea
% los datos del Subplot inferior.
set(gca,'xtickMode', 'auto')

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Comando Axes

El comando axes crea ejes


arbitrarios en una figura. La
estructura es la siguiente:
axes: Funcin simple para
creacin de ejes.
axes('PropertyName',value,...):
Crea los ejes con las
propiedades especificadas.
h = axes(...): Devuelve en h el
identificador de los ejes creados.
Ejemplo:
axes('position',[.1 .1 .8 .6]);
mesh(peaks(20));
axes('position',[.1 .7 .8 .2]);
pcolor([1:10;1:10]);
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin fplot.
Permite graficar una funcin definiendo los lmites del intervalo:
fplot(FUN,LIMS)
Donde FUN es la funcin a graficar y LIMS = [XMIN XMAX] es un
vector que define el dominio a graficar. Tambin se puede limitar el
rango definiendo LIMS = [XMIN XMAX YMIN YMAX].
Ejemplo:
fplot(@humps,[0 1]);
fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1]);
fplot(@(x) sin(1./x), [0.01 0.1], 1e-3);
f = @(x,n)abs(exp(-1j*x*(0:n-1))*ones(n,1));
fplot(@(x)f(x,10),[0 2*pi]);
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin plotyy.
Permite graficar con dos escalas en y, una en el eje izquierdo y
otra en el derecho. La sintaxis es la siguiente:
plotyy(X1,Y1,X2,Y2): Y1 con datos X1 en el eje izquierdo y Y2 con datos
X2 en eje derecho.
plotyy(X1,Y1,X2,Y2,FUN): Utiliza la funcin FUN para especificar el tipo de
grfico. FUN puede ser una funcin o un cadena que especifica el tipo de
grfica (semilogx, semilogy, loglog, stem, etc,) o cualquier funcin que
acepta la sintaxis H = FUN (X, Y). Por ejemplo:
plotyy(x1,y1,x2,y2,@loglog) % Control por funcin
plotyy(x1,y1,x2,y2,'loglog') % Control se especifica en una cadena
plotyy(X1,Y1,X2,Y2,'FUN1','FUN2'): Utiliza FUN1(X1, Y1) para representar
los datos en el eje izquierdo y FUN2(X2, Y2) para representar los datos en
el eje derecho.
[AX,H1,H2] = plotyy(...): AX es un vector que devuelve los controles de los
ejes creados, donde AX(1) es el eje izquierdo y AX(2) es el eje derecho. H1
y H2 devuelve los controles los objetos grficos.
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin plotyy.
Ejemplo:
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
200
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
150
set(get(AX(1),'Ylabel'),'String','Slow Decay');
set(get(AX(2),'Ylabel'),'String','Fast Decay'); 100
50
xlabel('Time (\musec)');
title('Multiple Decay Rates');
0
set(H1,'LineStyle','--');
-50
set(H2,'LineStyle',':');
-100

Multiple Decay Rates


0.8
0.6
0.4

0
-0.2
-0.4

-150
-200

-0.6

Introduccin al MatLab y Simulink

10
12
Time (sec)

14

16

18

-0.8
20

Fast Decay

Slow Decay

0.2

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin loglog.
Grfica log-log. La sintaxis es:
loglog(Y)
loglog(X1,Y1,...)
10
loglog(X1,Y1,LineSpec,...)
loglog(...,'PropertyName',Value,...) 10
h = loglog(...)
hlines = loglog('v6',...)

50

40

30

10

Ejemplo:
x = logspace(-1,2);
loglog(x,exp(x),'-s');
grid on

20

10

10

10

10

-1

10

Introduccin al MatLab y Simulink

10

10

10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin semilogx, semilogy).


Semilogx genera grafica
semilogartmica en x, y semilogy lo
realiza en y. La sintaxis es:
semilogx(Y) semilogy(Y)
semilogx(X1,Y1,...)
semilogx(X1,Y1,LineSpec,...)
semilogx(...,'PropertyName',Value,...)
h = semilogx(...)
Ejemplo:
x = 0:.1:10;
semilogy(x,10.^x)

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin line.

Crea lneas. La sintaxis es:


line(X,Y)
line(X,Y,Z)
line(X,Y,Z,'PropertyName',value,...)
line('XData',x,'YData',y,'ZData',z,...)
h = line(...)

0.8
0.6
0.4
0.2
0
-0.2
-0.4

Ejemplo:

-0.6
-0.8

t = 0:pi/20:2*pi;
-1
0
1
hl1=plot(t,sin(t),'k');
hl2= line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin polar.
Grfica en Coordenadas
polares. La sintaxis es:
polar(theta,rho)
polar(theta,rho,LineSpec)
h = polar(...)
Ejemplo:
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r');

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin ezpolar.
Grfica en Coordenadas polares de
forma directa. La sintaxis es:
ezpolar(fun)
ezpolar(fun,[a,b])
h = ezpolar(...)
Ejemplo1:
ezpolar('1+cos(t)');

Ejemplo 2:
fh = @(t) t.^2.*cos(t);
ezpolar(fh);
Ejemplo 3:
Si se define la funcin:
function s = myfun(t,k1,k2)
s = sin(k1*t).*cos(k2*t);

La grfica se realiza por:


ezpolar(@(t)myfun(t,2,3))

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Grficas Estadsticas en 2D.


Otras instrucciones de dibujos en dos dimensiones:
pie
Representa grficos de torta.
bar
Grficos de barras.
bar3
Grficos de barras en 3 D.
stairs
Grficos de escalera.
hist
Histogramas.
pareto
Diagrama de pareto.
Complejos:
compass
Feather
Nota: Ver detalles en el help de Matlab.
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin plot3.
Grfica lineal en 3D. La sintaxis
es:
plot3(X1,Y1,Z1,...)
plot3(X1,Y1,Z1,LineSpec,...)
plot3(...,'PropertyName',Value,...)
h = plot3(...)

Ejemplo:
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square

Una funcin equivalente pero que se usa en


forma similar ezpolar, es:
ezplot3('s/2','2*s','s^2')
fh1 = @(s) s./2; fh2 = @(s) 2.*s; fh3 = @(s) s.^2;
ezplot3(fh1,fh2,fh3)
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Grficas de Superficies.
Para graficas las superficies se debe siguiente procedimiento:

Evala la funcin Z=f(x,y).


La fila i-sima de la matriz Z ser f(x,y(i)), donde se mantiene
constante la variable x durante toda la evaluacin de la fila.
Del mismo modo, la columna j-sima corresponde a f(x(j),y),
donde se mantiene constante la variable y.
Es decir, para graficar Z=f(x,y), usando los puntos dados por la coordenadas:
x = [-2 1 0]; y=[1 2 3]
Z debe evaluarse en:

Z = f(-2,1) f(-2,2) f(-2,3)


f(-1,1) f(-1,2) f(-1,3)
f(0,1) f(0,2) f(0,3)
Ctte. la variable y

Introduccin al MatLab y Simulink

Ctte. la
variable x

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Grficas de Superficies.
Para evaluar los puntos que generan la matriz con los pares
coordenados se unas la funcin meshgrid(x,y). La sintaxis es:
[X,Y] = meshgrid(x,y): Transforma el dominio dado por los vectores x,y
en matrices rectangulares X,Y.
[X,Y] = meshgrid(x): Similar que [X,Y] = meshgrid(x,x).
[X,Y,Z] = meshgrid(x,y,z): Similar a la primera opcin pero genera una
matriz tridimensional.
La salida es:

Ejemplo:
x=[-2 1 0];
y=[1 2 3;
[X,Y]=meshgrid(x,y);

X=

Y=

-2

-1

-2

-1

-2

-1

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones mesh, meshc, meshz y ezmesh.


Las funcin mesh permite grafica una funcin z=f(x,y) en un sistema
coordenado 3D utilizado un modelo de alambre. Meshc, es similar, pero
en el plano xy grfica las lneas de contorno. Meshz proyecta el borde del
dominio hacia el plano xy. La sintaxis es la siguiente:
mesh(X,Y,Z)
mesh(Z): La grfica se realiza para X = 1:n, Y = 1:m, donde [m, n]=size(Z).
mesh(...,C)
mesh(...,'PropertyName',PropertyValue,...)
mesh(axes_handles,...)
meshc(...)
meshz(...)
h = mesh(...)
hsurface = mesh('v6',...)
hsurface = meshc('v6',...),

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones mesh, meshc, meshz y ezmesh.


Ejemplo: Grafique la funcin:
x=-7.5:.5:7.5;y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
mesh(X,Y,Z);
title('Sombrero Mexicano');

en (-7.5, 7.5)
Sombrero Mexicano

0.5

-0.5
10
5

10
5

-5

-5
-10

Introduccin al MatLab y Simulink

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones mesh, meshc, meshz y ezmesh.


x=-7.5:.5:7.5;y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
1
Z=sin(R)./R;
meshc(X,Y,Z);
title('Sombrero Mexicano'); 0.5

Sombrero Mexicano

-0.5
10
5

10
5

-5

-5
-10

Introduccin al MatLab y Simulink

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones mesh, meshc, meshz y ezmesh.


Sombrero Mexicano

x=-7.5:.5:7.5;y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
1
Z=sin(R)./R;
meshz(X,Y,Z);
0.5
title('Sombrero Mexicano');
0

-0.5
10
5

10
5

0
0

-5

-5
-10

Introduccin al MatLab y Simulink

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones mesh, meshc, meshz y ezmesh.


ezmesh es similar a ezplot y ezplot3.
x exp(-x 2-y 2)

Ejemplo: El grid es de 40x40


0.4

fh = @(x,y) x.*exp(-x.^2-y.^2);
ezmesh(fh,40)
colormap([0 0 1])

0.2

-0.2

-0.4
2
1

-1
-2
y

Introduccin al MatLab y Simulink

-2
x

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin waterfall.
Similar a meshz pero las lneas
de alambre se realizan slo en
una sola direccin, paralela a x
o y. La sintaxis es:
waterfall(Z)
waterfall(X,Y,Z)
waterfall(...,C)
waterfall(axes_handles,...)
h = waterfall(...)

Sombrero Mexicano

0.5

Ejemplo:
x=-7.5:.5:7.5;y=x;
-0.5
10
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
meshz(X,Y,Z);
title('Sombrero Mexicano');

10
5

-5

Introduccin al MatLab y Simulink

-5
-10

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones surf y surfc.


Similar a mesh y meshc pero el se usa contornos de colores. La sintaxis es:
surf(Z);
surf(Z,C)
Sombrero Mexicano
surf(X,Y,Z); surf(X,Y,Z,C)
surf(...,'PropertyName',Value)
1
surf(axes_handles,...)
surfc(...)
h = surf(...)
0.5
hsurface = surf('v6',...)
hsurface = surfc('v6',...)
0
Ejemplo:
x=-7.5:.5:7.5;y=x;
-0.5
10
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
surf(X,Y,Z);
title('Sombrero Mexicano');

10
5

-5

Introduccin al MatLab y Simulink

-5
-10

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funciones surf y surfc.


Ejemplo:

Sombrero Mexicano

x=-7.5:.5:7.5;y=x;
[X,Y]=meshgrid(x,y);
1
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
0.5
surfs(X,Y,Z);
title('Sombrero Mexicano'); 0

Nota: Hay otras funciones


similares, como son:
surfl, ezsurf y ezsurfc

-0.5
10
5

10
5

Introduccin al MatLab y Simulink

-5

-5
-10

-10

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contour.
Grafica las lneas de contornos (isocurvas) de una funcin. La
sintaxis es:
contour(Z)
contour(Z,n): n es el nmero de contornos
contour(Z,v): v es un vector que almacena los valores de contornos.
contour(X,Y,Z)
contour(X,Y,Z,n)
contour(X,Y,Z,v)
contour(...,LineSpec)
contour(axes_handle,...)
[C,h] = contour(...)
[C,h] = contour('v6',...)
Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contour.
Ejemplo:

20

[C,h] = contour(peaks(20),10);

18
16
14
12
10
8
6
4
2
2

Introduccin al MatLab y Simulink

10

12

14

16

18

20

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contour.
20
1.230 4

-2 .56

4
2
2

Introduccin al MatLab y Simulink

10

12

14

4
30
1.2

-0 .
03
47
87

-0 .
9 03 47
5
9
5
2.49
87
1 .29
1.230 4
83 02
7
.
3
8
47
03
.
0
2
9 54 3 0
-5 .0 3 .8
-1 .
29
99
51

8 -0 .0
34
78
7
6

-2 .
56
51
-1 .29
99

10

1.230
4

2.495 5

-1
.2
99
9

2. 4955

4
30
1.2

12

30 4
1.2

14

6.
29
1.
2
3
478 30 .76 0 9
7 4
06
-1 .2
9 99

2.4
95
5.0
5
25
8

06
76
3.

-0 .0
3

8
25
5.0

[C,h] = contour(peaks(20),10); 16
text_handle = clabel(C,h);

2.4
95 5

18

-2 .
56
-0
51
.0
34
78
7

Ejemplo:

16

18

20

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contour.
Ejemplo:
700
Z = peaks;
[C,h] = contour(interp2(Z,4));
600
text_handle = clabel(C,h);
set(text_handle,'BackgroundColor',500
[1 1 .6], 'Edgecolor',[.7 .7 .7])
400

6
2

-2

-2

300

2
2

-4

-2

-6

-2

100

-4

-2

200

100

200

Introduccin al MatLab y Simulink

300

400

500

600

700

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contourf.
Similar a contour pero hora la isocurvas son contornos de
20
colores.
18
Ejemplo:
[C,h] = contourf(peaks(20),10);

16
14
12
10
8
6
4
2
2

Introduccin al MatLab y Simulink

10

12

14

16

18

20

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contourf.
Ejemplo:

20

[C,h] = contourf(peaks(20),10);
text_handle = clabel(C,h);

18

87
-0 .
47
3
.0
9 03 47
5
9
5
9
0
9
4
.
2
87
1 .2
1.230 4
02
3
7
.8
3
8
47
03
.
0
2
9 54 3 0
-5 .0 3 .8
-1 .
29
99

-2 .56

-2 .
56
51
-1 .29
99

51

1.230
4

4
2
2

2.495 5

-1
.2
99
9

10

4
30
1.2

12

2. 4955

Introduccin al MatLab y Simulink

10

12

14

4
30
1.2

-0 .
03
47
87

14

-2 .
56
51

8
25
5.0

6.
29
1.
2
-0 . 30 3.76 0 9
03 4
06
-1 .2 4787
9 99

30 4
1.2

16

2.4
95
5.0
5
25
8

06
76
3.

2.4
95 5

1.230 4

16

18

20

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contourf.
20

Ejemplo:

-1
.2
99
9

10

-2 .
56
51

8
25
5.0

14

1.230
4

2.4955

2. 495 5

7
78
-0 .
4
04
3
0
0
.
5
99 3 478 1.23
5
9
9
2
-0
.
2. 4
1
7
1.230 4
7 -3 .83 02
8
47
03
2
-0 .
9 543 0
-5 .0 3 .8
-1 .
29
99

51

-2 .56

4
2
2

Introduccin al MatLab y Simulink

10

12

14

-2

-4

-0 .
03
47
87

-2 .
56
51
-1 .29
99

12

6.
29
1.
-0 . 230 3.76 0 9
03 4
06
4
-1 .2 787
9 99

30 4
1.2

colorbar, se utiliza para activar


la barra de colores de
contorno que permite
visualizar los valores de cada
contorno de color.

16

2.4
5. 0 95 5
25
8

4
30
1.2

18

06
76
3.

[C,h] = contourf(peaks(20),10);
text_handle = clabel(C,h);
colorbar

2. 4
95 5

1.230 4

16

18

-6
20

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin contour3.
Similar a contour pero en
3D: La sintaxis es:
contour3(Z)
contour3(Z,n)
contour3(Z,v)
contour3(X,Y,Z)
contour3(X,Y,Z,n)
contour3(X,Y,Z,v)
contour3(...,LineSpec)
contour3(axes_handle,...)
[C,h] = contour3(...)

0.4

0.2

-0.2

-0.4
2
1

2
1

-1

Ejemplo:
[X,Y] = meshgrid([-2:.25:2]);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)
Introduccin al MatLab y Simulink

-1
-2

-2

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin quiver.
Se usa para grafica campo
de velocidad en forma
vectorial: La sintaxis es:
quiver(x,y,u,v)
quiver(u,v)
quiver(...,scale)
quiver(...,LineSpec)
quiver(...,LineSpec,'filled')
quiver(axes_handle,...)
h = quiver(...)
hlines = quiver('v6',...)

Ejemplo:
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-2

-1.5

Introduccin al MatLab y Simulink

-1

-0.5

0.5

1.5

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin quiver.
Ejemplo:
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY);
colormap hsv
hold off

2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-2

-1.5

-1

-0.5

Introduccin al MatLab y Simulink

0.5

1.5

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin quiver3.
Similar a quiver pero en 3D: La sintaxis es:
quiver3(x,y,z,u,v,w)
quiver3(z,u,v,w)
quiver3(...,scale)
quiver3(...,LineSpec)
quiver3(...,LineSpec,'filled')
quiver3(axes_handle,...)
h = quiver3(...)

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin quiver3.
Ejemplo:
[X,Y] = meshgrid(-2:0.25:2,-1:0.2:1);
Z = X.* exp(-X.^2 - Y.^2);
0.6
[U,V,W] = surfnorm(X,Y,Z);
0.4
quiver3(X,Y,Z,U,V,W,0.5);
0.2
hold on
0
-0.2
surf(X,Y,Z);
-0.4
colormap hsv
view(-35,45)
1
axis ([-2 2 -1 1 -.6 .6])
0.5
hold off

2
0

1
0

-0.5

-1
-1

Introduccin al MatLab y Simulink

-2

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin streamlice.
Dibuja las lneas de corriente en el plano: La sintaxis es:
streamslice(X,Y,Z,U,V,W,startx,starty,startz)
streamslice(U,V,W,startx,starty,startz)
streamslice(X,Y,U,V)
streamslice(U,V)
streamslice(...,density)
streamslice(...,'arrowsmode')
streamslice(...,'method')
streamslice(axes_handle,...)
h = streamslice(...)
[vertices arrowvertices] = streamslice(...)

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin streamlice.
Ejemplo: Grafique las lneas
de corriente de la data del
viento existente.

55
50
45

load wind
daspect([1 1 1])
streamslice(x,y,z,u,v,w,[],[],[5])
axis tight

40
35
30
25
20
80

90

Introduccin al MatLab y Simulink

100

110

120

130

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin streamline.
Grafica lneas de corriente desde una data en 2D o 3D. La
sintaxis es:
streamline(X,Y,Z,U,V,W,startx,starty,startz)
streamline(U,V,W,startx,starty,startz)
streamline(XYZ)
streamline(X,Y,U,V,startx,starty)
streamline(U,V,startx,starty)
streamline(XY)
streamline(...,options)
streamline(axes_handle,...)
h = streamline(...)

Introduccin al MatLab y Simulink

Centro de Estudios Energticos


Departamento de Ingeniera Mecnica
Direccin de Investigacin y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Grficas con MatLab.

Funcin streamline.
Ejemplo:
load wind
[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
h = streamline(x,y,z,u,v,w,sx,sy,sz);
20
set(h,'Color','red')
15
view(3)
10
5
0
-5
60
140

40

120
100

20
80
0

Introduccin al MatLab y Simulink

60

Você também pode gostar