Vous êtes sur la page 1sur 6

SESIN 2

GRFICAS 3D EN MATLAB
1 GRFICAS DE FUNCIONES z=f(x,y)
Para elaborar graficas de funciones de la forma z=f(x,y)se deben generar
valores para x e y, estos valores se elaboran mediante el comando meshgrid, el
cual genera un plano XY acotado por los valores suministrados. Los valores
generados vienen siendo el dominio de la funcin a evaluar.
El comando meshgridpuede evaluarse con los comandos colon y linspace,
denotando el dominio de las variables. La sintaxis de este comando se presenta a
continuacin.
[x,y]=meshgrid(valores x, valores y)
[x,y]=meshgrid(-1:0.1:1,-1:0.1:2);en este ejemplo se estn
definiendo valores para x entre -1 y 1, mientras que para y se definieron valores
entre -1 y 2. De igual forma se puede definir el mismo dominio para ambos
mencionando una sola serie de valores, como se muestra a continuacin.

[x,y]=meshgrid(-1:0.1:1);

Posterior a haber creado los valores para x e y, se evala la funcin y se grafica
utilizando los siguientes comandos:
Plot3(x,y,z): representa la superficie por medio de curvas.
Mesh(x,y,z): representa la superficie por medio de una malla.
Surf (x,y,z)
Surf (x,y,z), shading flat.
Un ejemplo de estos comandos se presenta a continuacin:
%% Grficas 3D
[x,y]=meshgrid(-1:0.1:1,-1:0.1:2);
z=cos((x.*y)./(x.^2+y.^2+1));
subplot(2,2,1)
plot3(x,y,z)
gridon
title('Grfica con PLOT3')
subplot(2,2,2)
mesh(x,y,z)
title('Grfica con MESH')
subplot(2,2,3)
surf(x,y,z)
CURSO DE MATLAB BSICOGRFICAS EN MATLAB
-1
-0.5
0
0.5
1
-1
0
1
2
0.92
0.94
0.96
0.98
1
Grfica con PLOT3
-1
-0.5
0
0.5
1
-1
0
1
2
0.92
0.94
0.96
0.98
1
Grfica con MESH
-1
-0.5
0
0.5
1
-1
0
1
2
0.92
0.94
0.96
0.98
1
Grfica con SURF
-1
-0.5
0
0.5
1
-1
0
1
2
0.92
0.94
0.96
0.98
1
Grfica con PLOT3 + Shading flat
title('Grfica con SURF')
subplot(2,2,4)
surf(x,y,z),shadingflat
title('Grfica con PLOT3 + Shading flat')







Otro comando til es el colormap, el cual muestra el valor que representan los
colores en las grficas surf. Este comando se debe ejecutar despus de haber
presentado la figura, tal como gridon. As mismo se pueden presentar los vectores
normales a las superficies por medio del comando surfnorm(x,y,z).

%% Grfica 3D
[x,y]=meshgrid(-1:0.1:1,-1:0.1:2);
z=cos((x.*y)./(x.^2+y.^2+1));
figure;
CURSO DE MATLAB BSICOGRFICAS EN MATLAB
surfnorm(x,y,z)
colorbar


2 CURVAS DE NIVEL
Para presentar curvas de nivel se deben ejecutar los comandos contour(x,y,z,#
de curvas) y countour3(x,y,z,,# de curvas).
%% Grfica 3D contorno
[x,y]=meshgrid(-2:0.1:2);
z=y.^2 - x.^2;
subplot(2,2,1)
surf(x,y,z)
subplot(2,2,2)
contour(x,y,z,10)
subplot(2,2,3)
contour3(x,y,z,10)

-2
-1
0
1
2
-2
-1
0
1
2
0.92
0.94
0.96
0.98
1
1.02


0.94
0.95
0.96
0.97
0.98
0.99
1
CURSO DE MATLAB BSICOGRFICAS EN MATLAB
-2
-1
0
1
2
-2
-1
0
1
2
-4
-2
0
2
4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-2
-1
0
1
2
-2
-1
0
1
2
-4
-2
0
2
4
-2
-1
0
1
2
-2
-1
0
1
2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
1
2
3
4
5
6
7
8
9
10









3 VOLMENES DE REVOLUCIN
Para efectuar volmenes en revolucin MATLAB posee el comando
cylinder(r(t)), en donde r(t) es la curva gua.
%% Vlumenes en revolucin
t=1:0.1:10;
r=exp(-t./4).*cos(pi*t)+1;
subplot(1,2,1)
cylinder(r)
subplot(1,2,2)
plot(r,t)








CURSO DE MATLAB BSICOGRFICAS EN MATLAB
Un ejemplo ms claro:
t=0:0.1:4*pi;
r=2*sin(t)+1;
cylinder(r);
figure;
plot(r);
t=0:0.1:4*pi;

Note que el comando realiza la rotacin con respecto al eje Y.

Note adems en las siguientes figuras que el cilindro generado tendr siempre
una magnitud mxima de 1 en el eje Z. y que adems los ejes x e y del plot no
guardan relacin, pero la grafica final corresponde a la rotacin de la figura
plot(r=2*sin(t)+1); con respecto a Y=0.


0 20 40 60 80 100 120 140
-1
-0.5
0
0.5
1
1.5
2
2.5
3
EJE X
E
J
E

Y
r=2*sin(t)+1
EJE DE ROTACIN
CURSO DE MATLAB BSICOGRFICAS EN MATLAB

-2
-1
0
1
2
-2
-1
0
1
2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
E
J
E

Z
EJE X
-2
-1
0
1
2
-2
0
2
0 0.2 0.4 0.6 0.8 1 E
J
E

Z
EJE Y
EJE X

Vous aimerez peut-être aussi