You are on page 1of 57

Centro de Estudios Energéticos

Departamento de Ingeniería Mecánica


Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Introducción al MatLab y
Simulink

Elaborado por: Prof. Edgar Gutiérrez, Ing. MSc.


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

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz

Contenidos:
• Introducción al Curso.
• Fundamentos del MatLab.
• Gráficas con MatLab.
• Algebra Lineal.
• Integración y Diferenciación Numérica.
• Raíces de Ecuaciones no Lineales.
• Resolución de Ecuaciones Diferenciales.
• Simulink de MatLab.

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Resumen de Comandos para Graficar.

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Funciones Gráficas 2D.

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Funciones Gráficas 3D.

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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 subíndice.
plot(x1,y1,S1,x2,y2,S2,x3,y3,S3,...) Grafica en una sola
gráfica 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 máximo. Los caracteres del identificador son:

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función Plot.
Ejemplo:
x=linspace(0,2*pi,20);
y=sin(x);z=cos(x);
plot(x,y,’b:’,x,z,’rv’);

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Característica de la Ventana Gráfica
Barra de Ventana de gráfica Anclar/desanclar del
Ejemplo: herramientas de Matlab desktop de Matlab
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)

Para acceder al editor de


las gráficas se puede
hacer desde la gráfica
mediante el menú, o
usando el comando:
plottools
Eje coordenado Gráficas
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Modificación de Características por comandos
Se pueden modificar:
– Tipo de letra.
– Tamaño de letra.
– Anchura de las líneas.
– 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);

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Anotaciones sobre las Gráfica
xlabel, ylabel, zlabel: Anota una cadena de carácter 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
zlabel(‘Eje z’); indica que no se ejecutó el comando

title: Anota un a cadena de carácter como titulo de un gráfico. La


estructura es la siguiente:
title(‘Titulo’); h=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 gráfica. La estructura es:
text(x,y,‘Texto’); %x,y coordenada en el plano
text(x,y,‘Texto’); %x,y,z coordenada en el espacio
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Anotaciones sobre las Gráfica
gtext: Anota una cadena de
carácter con el mouse. La
estructura es:
gtext(‘Texto')
texlabel: Anota una cadena de
carácter 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'));

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Anotaciones sobre las Gráfica
legend: Muestra la leyenda de Especificador Localización en el cuadro

las curvas graficadas. La


North Interior superior
South Interior inferior
estructura es: East Interior derecho
legend('string1','string2',...) West Interior izquierdo

legend('string1','string2',...,'Location',location) NorthEast Interior superior derecho

h = legend('string1','string2',...) NorthWest Interior superior izquierdo


SouthEast Interior inferior derecho
La h es una cadena que se usa para SouthWest Interior inferior izquierdo

etiquetar el gráfico. NorthOutside


SouthOutside
Exterior superior
Exterior inferior
grid: Activa do desactiva la rejilla EastOutside Exterior derecho

de la figura. WestOutside Exterior izquierdo


NorthEastOutside Exterior superior derecho
grid on: Activa la rejilla mayor de los ejes. NorthWestOutside Exterior superior izquierdo
grid off: Desactiva la rejilla mayor (principal) SouthEastOutside Exterior inferior derecho
y menor (secundaria) de los ejes. SouthWestOutside Exterior inferior izquierdo
grid minor: Cambia a la rejilla menor. Best La mejor ubicación interior
grid: Cambia a la rejilla mayor. BestOutside La mejor ubicación exterior

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Anotaciones sobre las Gráfica

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')

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Otros Parámetros de Modificación de Gráfica
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 graduación y fondo.
axis on: Reactiva las etiquetas de los ejes, marcas de graduación y fondo.
Hold: Mantiene el gráfica actual:
hold on: Mantiene la características actual y las propiedades de los ejes para
la siguiente operaciones de gráficas.
hold off: Regresa a las propiedades por defectos.
hold all: Mantiene las características, color y estilos para las siguientes
operaciones.
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Otros Parámetros de Modificación de Gráfica
Figures: Crea una ventana gráfica. Las estructura es la siguiente:
figure(H): H es el un número entero que representa la ventana gráfica
activa.
Gcf: Devuelve el identificador de la gráfica actual activa.
H=gcf: H almacena el valor de la gráfica activa.

Get: Obtiene las propiedades del objeto.


v=get(H,'PropertyName'): Devuelve en v las propiedades del gráfico H.
v=get(H,'Default'): Devuelve en v las propiedades por defecto del gráfico H.
Set: Establece las propiedades del objeto.
set(H,'PropertyName',Value): Establece el valor de la propiedad en la gráfica H.
Para varias gráfica H es un vector.
set(H,'PropertyName1',Value1,'PropertyName2',Value2,...): Establece el valor de
varias propiedad en la gráfica H.
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Comando Subplot
Crea varias gráficas en una misma figura. Las estructura es la siguiente:
H=supplot(m,n,p): Crea varias
figuras en una ventana gráfica
posicionada en forma matricial
mxn y p representa la ubicación
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')

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Comando Subplot

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Comando Subplot

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Comando Subplot

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas 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')

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Comando Axes
El comando axes crea ejes
arbitrarios en una figura. La
estructura es la siguiente:
axes: Función simple para
creación 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]);
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función fplot.
Permite graficar una función definiendo los límites del intervalo:
fplot(FUN,LIMS)
Donde FUN es la función a graficar y LIMS = [XMIN XMAX] es un
vector que define el dominio a graficar. También 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]);

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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 función FUN para especificar el tipo de
gráfico. FUN puede ser una función o un cadena que especifica el tipo de
gráfica (semilogx, semilogy, loglog, stem, etc,) o cualquier función que
acepta la sintaxis H = FUN (X, Y). Por ejemplo:
plotyy(x1,y1,x2,y2,@loglog) % Control por función
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 gráficos.
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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); Multiple Decay Rates
200 0.8
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
150 0.6
set(get(AX(1),'Ylabel'),'String','Slow Decay');
set(get(AX(2),'Ylabel'),'String','Fast Decay'); 100 0.4

xlabel('Time (\musec)'); 50 0.2

Slow Decay

Fast Decay
title('Multiple Decay Rates'); 0 0

set(H1,'LineStyle','--'); -50 -0.2

set(H2,'LineStyle',':'); -100 -0.4

-150 -0.6

-200 -0.8
0 2 4 6 8 10 12 14 16 18 20
Time (sec)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función loglog.
Gráfica log-log. La sintaxis es:
loglog(Y)
loglog(X1,Y1,...) 10
50

loglog(X1,Y1,LineSpec,...)
loglog(...,'PropertyName',Value,...) 10 40

h = loglog(...)
hlines = loglog('v6',...) 30
10

Ejemplo: 10
20

x = logspace(-1,2);
loglog(x,exp(x),'-s'); 10
10

grid on
0
10
-1 0 1 2
10 10 10 10

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función semilogx, semilogy).
Semilogx genera grafica
semilogarítmica 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)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función line. 1

Crea líneas. La sintaxis es: 0.8

0.6
line(X,Y)
line(X,Y,Z) 0.4

line(X,Y,Z,'PropertyName',value,...) 0.2

line('XData',x,'YData',y,'ZData',z,...) 0

h = line(...) -0.2

-0.4

Ejemplo: -0.6

-0.8
t = 0:pi/20:2*pi;
-1
hl1=plot(t,sin(t),'k'); 0 1 2 3 4 5 6 7

hl2= line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función polar.
Gráfica 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');

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función ezpolar.
Gráfica 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 función:
function s = myfun(t,k1,k2) La gráfica se realiza por:
s = sin(k1*t).*cos(k2*t); ezpolar(@(t)myfun(t,2,3))
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Gráficas Estadísticas en 2D.
Otras instrucciones de dibujos en dos dimensiones:
– pie Representa gráficos de torta.
– bar Gráficos de barras.
– bar3 Gráficos de barras en 3 D.
– stairs Gráficos de escalera.
– hist Histogramas.
– pareto Diagrama de pareto.
– Complejos:
• compass
• Feather

Nota: Ver detalles en el help de Matlab.


Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función plot3.
Gráfica 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 función 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)
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Gráficas de Superficies.
Para graficas las superficies se debe siguiente procedimiento:
• Evalúa la función 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 evaluación 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]

Ctte. la
Z debe evaluarse en: Z = f(-2,1) f(-2,2) f(-2,3) variable x
f(-1,1) f(-1,2) f(-1,3)
f(0,1) f(0,2) f(0,3)
Ctte. la variable y
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Gráficas de Superficies.
Para evaluar los puntos que generan la matriz con los pares
coordenados se unas la función 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 opción pero genera una
matriz tridimensional.
La salida es:
Ejemplo: X= Y=
x=[-2 –1 0];
y=[1 2 3; -2 -1 0 1 1 1
[X,Y]=meshgrid(x,y); -2 -1 0 2 2 2
-2 -1 0 3 3 3
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Funciones mesh, meshc, meshz y ezmesh.
Las función mesh permite grafica una función z=f(x,y) en un sistema
coordenado 3D utilizado un modelo de alambre. Meshc, es similar, pero
en el plano xy gráfica las líneas de contorno. Meshz proyecta el borde del
dominio hacia el plano xy. La sintaxis es la siguiente:
mesh(X,Y,Z)
mesh(Z): La gráfica 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',...),

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Funciones mesh, meshc, meshz y ezmesh.
Ejemplo: Grafique la función: en (-7.5, 7.5)
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;
mesh(X,Y,Z); 0.5

title('Sombrero Mexicano');
0

-0.5
10
5 10
0 5
0
-5 -5
-10 -10

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Funciones mesh, meshc, meshz y ezmesh.
x=-7.5:.5:7.5;y=x; Sombrero Mexicano
[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

-0.5
10
5 10
0 5
0
-5 -5
-10 -10

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas 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
0 5
0
-5 -5
-10 -10

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas 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); 0.2

ezmesh(fh,40) 0
colormap([0 0 1])
-0.2

-0.4

2
1
2
0
-1 0
-2 -2
y x

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función waterfall.
Similar a meshz pero las líneas
Sombrero Mexicano
de alambre se realizan sólo en
una sola dirección, paralela a x
o y. La sintaxis es: 1
waterfall(Z)
waterfall(X,Y,Z)
0.5
waterfall(...,C)
waterfall(axes_handles,...)
h = waterfall(...) 0

Ejemplo:
x=-7.5:.5:7.5;y=x; -0.5
10
[X,Y]=meshgrid(x,y);
5 10
R=sqrt(X.^2+Y.^2)+eps; 0 5
0
Z=sin(R)./R; -5 -5
-10 -10
meshz(X,Y,Z);
title('Sombrero Mexicano');
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas 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)
surf(axes_handles,...) 1

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);
5 10
R=sqrt(X.^2+Y.^2)+eps; 0 5
0
Z=sin(R)./R; -5 -5
-10 -10
surf(X,Y,Z);
title('Sombrero Mexicano');
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas 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

-0.5
Nota: Hay otras funciones 10
5 10
similares, como son: 0 5
0
surfl, ezsurf y ezsurfc -5
-10 -10
-5

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contour.
Grafica las líneas de contornos (isocurvas) de una función. La
sintaxis es:

contour(Z)
contour(Z,n): n es el número 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',...)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contour.
Ejemplo: 20

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

16

14

12

10

2 4 6 8 10 12 14 16 18 20

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contour.
20
Ejemplo: 1.230 4
18 2.4
[C,h] = contour(peaks(20),10); 16 5.0 95

95 5
5

3.
25

76
8

1.2
text_handle = clabel(C,h);

2.4
6.

5.0

06
1. 29

30 4
-0 .0 2
478 30 .76 0 9
3

25
3
7 4 06

8
14
-1 .2
9 99 2. 4955

1.2
12

30
51

2.495 5
4
1.230

56
4

7
-1

-2 .

78
10 .2
99

34
9

.0
-0
-0 . 4
8 -0 .0 9 03 47 30
34 2.49 5 5
-1 .29 9 87 1.2
78 1.230 4
7
8 7 -3 .83 02
6 47

51
03

99
.

51
0

-2 .56
- 2
9 54 3 0

-1 .29
56
4 -5 .0 3 .8

87
-2 .
-1 . -

47
29
99

03
2

-0 .
2 4 6 8 10 12 14 16 18 20

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contour.
Ejemplo:
700
Z = peaks; 2

[C,h] = contour(interp2(Z,4)); 6

2
4
600

4
8
text_handle = clabel(C,h); 0
6 4

set(text_handle,'BackgroundColor',…500 2

[1 1 .6], 'Edgecolor',[.7 .7 .7])

2
-2
400 0

-2 2

0
300 2
2 -2
0 -4 0
200 0
-6

-2
-4

-2
100

0
100 200 300 400 500 600 700

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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

2 4 6 8 10 12 14 16 18 20

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contourf.
Ejemplo: 20
1.230 4
[C,h] = contourf(peaks(20),10); 18
5.0
2.4
95
text_handle = clabel(C,h);

95 5
5

3.
25

76
8

1.2
16

2.4
6.

5.0

06
1. 29

30 4
2
-0 . 30 3.76 0 9

25
03 4 06

8
14
-1 .2 4787 2. 4955
9 99

1.2
12

30
51

2.495 5
4
1.230

56
-1 4

-2 .
10 .2
99
9 87
47 -0 . 4
8 .03
9 03 47 30
-0 2. 4 95 5
-1 .2 9 9 87 1.2
1.230 4 3 02
8 7 -3 .8
6 47

51
03

99
.

51
0

-2 .56
- 2
9 54 3 0

-1 .29
56
4 -5 .0 3 .8

87
-2 .
-1 . -

47
29
99

03
2

-0 .
2 4 6 8 10 12 14 16 18 20

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contourf.
20
6
Ejemplo: 1.230 4
18 2.4
[C,h] = contourf(peaks(20),10); 5. 0 95 5

95 5

3.
25 4
text_handle = clabel(C,h);

76
8

1.2
16

2. 4
6.

5.0

06
1. 29

30 4
-0 . 230 3.76 0 9
colorbar

25
03 4 06

8
14 4
-1 .2 787 2.4955 2
9 99

1.2
12
colorbar, se utiliza para activar

30
51

2. 495 5
4
1.230

56
-1 4 0
la barra de colores de

-2 .
10 .2
99
9 7
78
contorno que permite
4 -0 . 04
8 3 0
-0
.0
2. 4 95 5
1 .2 9 99 3 478 1.23 -2
1.230 4 - 7
visualizar los valores de cada 6 47
8 7 -3 .83 02

51
03

99
-0 .

51
-2 .56
contorno de color.
2
9 543 0

-1 .29
56
-4
4 -5 .0 3 .8

87
-2 .
-1 . -

47
29
99

03
2

-0 .
-6
2 4 6 8 10 12 14 16 18 20

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función contour3.
Similar a contour pero en
3D: La sintaxis es: 0.4

contour3(Z) 0.2
contour3(Z,n)
contour3(Z,v) 0

contour3(X,Y,Z) -0.2
contour3(X,Y,Z,n)
contour3(X,Y,Z,v) -0.4
2
contour3(...,LineSpec) 1 2
0 1
contour3(axes_handle,...) -1
0
-1
[C,h] = contour3(...) -2 -2

Ejemplo:
[X,Y] = meshgrid([-2:.25:2]);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)
Introducción al MatLab y Simulink
Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función quiver. Ejemplo:
[X,Y] = meshgrid(-2:.2:2);
Se usa para grafica campo Z = X.*exp(-X.^2 - Y.^2);
de velocidad en forma [DX,DY] = gradient(Z,.2,.2);
vectorial: La sintaxis es: contour(X,Y,Z)
quiver(x,y,u,v) hold on
quiver(u,v) quiver(X,Y,DX,DY)
2

quiver(...,scale) 1.5

quiver(...,LineSpec)
1
quiver(...,LineSpec,'filled')
0.5
quiver(axes_handle,...)
h = quiver(...) 0

hlines = quiver('v6',...) -0.5

-1

-1.5

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

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función quiver.
Ejemplo: 2
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2); 1.5

[DX,DY] = gradient(Z,.2,.2); 1
contour(X,Y,Z)
0.5
hold on
quiver(X,Y,DX,DY); 0

colormap hsv
-0.5
hold off
-1

-1.5

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

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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(...)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función quiver3.
Ejemplo:

[X,Y] = meshgrid(-2:0.25:2,-1:0.2:1);
Z = X.* exp(-X.^2 - Y.^2);
[U,V,W] = surfnorm(X,Y,Z); 0.6
0.4
quiver3(X,Y,Z,U,V,W,0.5); 0.2
hold on 0

surf(X,Y,Z); -0.2
-0.4
colormap hsv
view(-35,45) 1

axis ([-2 2 -1 1 -.6 .6]) 0.5


2
hold off 0 1
0
-0.5
-1
-1 -2

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función streamlice.
Dibuja las líneas 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(...)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función streamlice.
Ejemplo: Grafique las líneas
de corriente de la data del 55
viento existente. 50

45
load wind 40
daspect([1 1 1]) 35
streamslice(x,y,z,u,v,w,[],[],[5])
30
axis tight
25

20

80 90 100 110 120 130

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función streamline.
Grafica líneas 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(...)

Introducción al MatLab y Simulink


Centro de Estudios Energéticos
Departamento de Ingeniería Mecánica
Dirección de Investigación y Postgrado
UNEXPO Vicerrectorado de Puerto Ordaz
Gráficas con MatLab.
Función 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);
set(h,'Color','red') 20

view(3) 15

10

-5
60
140
40
120
20 100
80
0 60

Introducción al MatLab y Simulink

You might also like