Beruflich Dokumente
Kultur Dokumente
x=1:1:5;
y=-4:1:3;
[X,Y]=meshgrid(x,y)
z=X.*Y.^2./(X.^2+Y.^2)
El resultado ser una matriz rectangular, con los valores de las imgenes en los
puntos anteriores. Valo por usted mismo
>> grafico06
X =
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
5
1 2 3 4 5
Y =
-4 -4 -4 -4 -4
-3 -3 -3 -3 -3
-2 -2 -2 -2 -2
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
z =
0.9412 1.6000 1.9200 2.0000 1.9512
0.9000 1.3846 1.5000 1.4400 1.3235
0.8000 1.0000 0.9231 0.8000 0.6897
0.5000 0.4000 0.3000 0.2353 0.1923
0 0 0 0 0
0.5000 0.4000 0.3000 0.2353 0.1923
0.8000 1.0000 0.9231 0.8000 0.6897
0.9000 1.3846 1.5000 1.4400 1.3235
>>
Creacin de grficos de malla y de superficie
Para graficar con MatLab tenemos dos opciones:
Un grafico de malla, con el comando mesh. Lo que realiza aqu es levantar las
lneas que estn en plano xy
( ) , , mesh X Y Z
Grafico de superficie con el comando surf. Aqu se levanta el plano que est
en xy.
( ) , , surf X Y Z
Ah van los ejemplos
x=1:1:5;
y=-4:1:3;
[X,Y]=meshgrid(x,y)
Z=X.*Y.^2./(X.^2+Y.^2);
mesh(X,Y,Z)
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
6
x=1:1:5;
y=-4:1:3;
[X,Y]=meshgrid(x,y)
Z=X.*Y.^2./(X.^2+Y.^2);
surf(X,Y,Z)
Modificando el color del grafico
Los colores de este grafico son en base a los valores que asume la funcin en
los puntos del plano xy. Se podra volver constante el color.
Para el color se puede modificar con el comando en MatLab colormap, cuya
sintaxis es:
( ) colormap C
Donde C es un vector de tres elementos, y estos elementos varian de 0 a 1.
Ejemplo:
[0 0 0] C =
Negro
[1 0 0] C =
Rojo
[0 1 0] C =
Verde
[0 0 1] C =
Azul
[1 1 0] C =
Amarillo
[1 0 1] C =
Magenta
1
2
3
4
5
-4
-2
0
2
4
0
0.5
1
1.5
2
1
2
3
4
5
-4
-2
0
2
4
0
0.5
1
1.5
2
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
7
[0.5 0.5 0.5] C=
Gris
Ejemplo
x=1:1:5;
y=-4:1:3;
[X,Y]=meshgrid(x,y)
Z=X.*Y.^2./(X.^2+Y.^2);
surf(X,Y,Z)
colormap([1 0 1])
x=1:1:5;
y=-4:1:3;
[X,Y]=meshgrid(x,y)
Z=X.*Y.^2./(X.^2+Y.^2);
mesh(X,Y,Z)
%surf(X,Y,Z)
colormap([1 0 1])
Precisiones sobre el comando mesh:
- Los colores pueden ser modificados y volverse constante, con el comando:
1
2
3
4
5
-4
-2
0
2
4
0
0.5
1
1.5
2
1
2
3
4
5
-4
-2
0
2
4
0
0.5
1
1.5
2
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
8
( ) [ ] colormap a b c
Donde a , b y c toman valores desde cero hasta 1.
- Cuando se ejecuta el comando mesh, la rejilla se activa por defecto. Para
ocultarla se teclea:
grid off
. Para volver a activar la rejilla:
grid on
- Para dibujar una caja que rodee el grafico se usa el comando:
box on
- Los comando mesh y surf se pueden utilizar de la forma
( ) mesh Z
( ) surf Z
Graficar la funcin:
( ) ( )
2 2
1,5
1,8 cos 0, 5
x y
z sen x y
=
en [-3, 3] x [-3, 3].
Grafico de malla
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
mesh(X,Y,Z)
%surf(X,Y,Z)
%colormap([1 0 1])
Grafico de superficie
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
%mesh(X,Y,Z)
surf(X,Y,Z)
%colormap([1 0 1])
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
9
Grafico de superficie
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
%mesh(X,Y,Z)
surf(X,Y,Z)
%colormap([1 0 1])
xlabel('x');ylabel('y');zlabel('z');
Gafico de malla con cortina
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
meshz(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
10
Grafico de malla con contorno
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
meshc(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
Grafico de superficie con contorno
x=-3:0.1:3;
y=-3:0.1:3;
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
11
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
surfc(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
Grafico de superficie con alumbrado
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
surfl(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
12
Grafico de cascada
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
waterfall(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
Grafico de contorno 3D
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
contour3(X,Y,Z,15) % el cuarto elemento es el numero
de niveles (opcional)
xlabel('x');ylabel('y');zlabel('z');
Grafico de contorno 2D
Dibuja proyecciones de niveles de contorno sobre el plano xy
-4
-2
0
2
4
-4
-2
0
2
4
-0.4
-0.2
0
0.2
0.4
x
y
z
-3
-2
-1
0
1
2
3
-2
0
2
-0.4
-0.2
0
0.2
0.4
z
x
y
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
13
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=(1.8.^(-1.5*sqrt(X.^2+Y.^2))).*sin(X).*cos(0.5*Y);
contour(X,Y,Z,15) % el cuarto elemento es el numero
de niveles
xlabel('x');ylabel('y');zlabel('z');
LA ESFERA
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z1=sqrt(18-X.^2-Y.^2);
%mesh(X,Y,Z)
surf(X,Y,Z1)
Z2=-sqrt(18-X.^2-Y.^2);
hold on
surf(X,Y,Z2)
%colormap([1 0 1])
xlabel('x');ylabel('y');zlabel('z');
x=-3:0.1:3;
z=-3:0.1:3;
[X,Z]=meshgrid(x,z);
Y1=sqrt(18-X.^2-Z.^2);
Y2=-sqrt(18-X.^2-Z.^2);
%mesh(X,Y,Z)
surf(X,Y1,Z)
surf(X,Y2,Z)
x
y
-3 -2 -1 0 1 2 3
-3
-2
-1
0
1
2
3
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
14
SUPERFICIES PARAMETRIZADAS
Graficando
( ) ( , ), ( , ), ( , ) 0, F X u v Y u v Z u v =
% Un cilindro
clear
u=(0:0.1:3*pi)';
v=0:0.1:4;
X=sin(u)*ones(size(v));
Y=cos(u)*ones(size(v));
Z=ones(1,size(u))'*v;
surf(X,Y,Z)
GRAFICOS ESPECIALES
He aqu algunos opciones diferentes para una mejor comprensin de los
comandos teclear:
help nombre_comando
Esfera
[ X Y Z]=sphere(30); % esfera unitaria
surf(X,Y,Z)
-4
-2
0
2
4
-5
0
5
-5
0
5
x
y
z
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
15
Cilindro
t=linspace(0,2*pi,30);
r=2+sin(t);
[ X Y Z]=cylinder(r);
surf(X,Y,Z)
axis square
Grafico de barras en 3D
Y=[1 6.5 7;2 6 7;3 5.5 7;4 5 7;3 4 7;2 3 7;1 2 7]
bar3(Y)
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
-4
-2
0
2
4
-4
-2
0
2
4
0
0.2
0.4
0.6
0.8
1
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
16
Grafico de Tallo o Lineas verticales 3D
t=0:0.1:20;
x=t;
y=sin(t);
z=t.^1.5;
stem3(x,y,z,'fill')
grid on
xlabel('x'),ylabel('y'),zlabel('z')
Grafico de dispersin 3D
t=0:0.2:20;
x=t;
y=sin(t);
z=t.^1.5;
scatter3(x,y,z,'filled')
grid on
colormap([0.1 0.1 0.1])
xlabel('Eje x'); ylabel('Eje y'), zlabel('Eje z')
1
2
3
1
2
3
4
5
6
7
0
2
4
6
8
0
5
10
15
20
-1
-0.5
0
0.5
1
0
20
40
60
80
100
x
y
z
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
17
Grafico de tarta 3D
X=[5 9 14 20 10 20] % frecuencias simples
explode=[1 1 0 0 1 0] % es un vector de la misma
longitud de X con unos y seros
% Un uno indica que la porcion
de la tarta
% estara separada del resto
secciones
pie3(X,explode)
Animacin de plot3
t=0:0.1:16*pi;
x=sqrt(t).*sin(2*t);
y=sqrt(t).*cos(2*t);
z=0.5*t;
comet3(x,y,z)
xlabel('x');
ylabel('y');
zlabel('z');
0
5
10
15
20
-1
-0.5
0
0.5
1
0
20
40
60
80
100
Eje x
Eje y
E
j
e
z
13%
26%
26%
18%
6%
12%
CAPITULO 09: GRAFICOS EN 3D Lic. Amado Malca Villalobos
18