SUPERFICIES CON MATLAB Adolfo Canahuire Condori 2
f x , y = y e
− x 2
PRESENTACIÓN En cada diapositiva se exponen las instrucciones a realizar en la ventana de comandos del Matlab para obtener una superficie. Al lado de estas instrucciones se muestra también el resultado gráfico obtenido. No pretendo repetir lo que hay en la ayuda del Matlab, sobre el uso de comandos y funciones. Sugiero que se consulte la mencionada ayuda cuando sea necesario. Adolfo Canahuire Condori
Un primer ejemplo >> >> >> >> >>
La función z = y
3
[x,y]=meshgrid(-4:.25:4); z=y.^3; surf(x,y,z) axis square xlabel('Eje X'),ylabel('Eje Y'),zlabel('Eje Z')
La función meshgrid, determina el dominio de la función
Función surf del Matlab para graficar una superficie
Para etiquetar los ejes
La funciones para graficar superficies en el Matlab son: surf mesh surfl ezsurf etc.
Adolfo Canahuire Condori
Dos planos >> >> >> >> >>
Leyenda
[x,y]=meshgrid(-2:.1:2); surf(x,y,-x+y,'FaceColor','blue') hold on surf(x,y,2.*x+y-1,'FaceColor','red') legend('Plano z=-x+y','Plano z=2x+y-1')
Hold on es para realizar una gráfica sobre otra
x − y z = 0
Adolfo Canahuire Condori
2x y − z = 1
Dos cilindros parabólicos >> >> >> >>
[x,y]=meshgrid(-10:.5:10); z=4-y.^2;w=4-x.^2;surf(x,y,z) hold on surf(x,y,w)
w = 4− x
2
Hold on es para realizar una gráfica sobre otra
z = 4− y
2
Adolfo Canahuire Condori
Función: z =sin x y 2
>> >> >> >> >>
2
[x,y]=meshgrid(-3*pi:.25:3*pi); z=sin(sqrt(x.^2+y.^2)); surf(x,y,z) axis([-3*pi 3*pi -3*pi 3*pi -2 2]) colormap bone
Con el colormap “bone” se proporciona una escala de grises
Adolfo Canahuire Condori
Subgráficos Subplot para crear subventanas en la ventana de la figura
>> >> >> >> >> >> >> >> >>
[x,y]=meshgrid(-3:.2:3); z1=-x.*y.*exp(-x.^2-y.^2); z2=x.^2.*y.^2.*exp(-x.^2-y.^2); subplot(1,2,1) surf(x,y,z1),axis vis3d daspect([10 10 1]) subplot(1,2,2) surf(x,y,z2),axis vis3d daspect([10 10 1])
2
f x , y =− xy e
− x 2− y 2
2
f x , y = x y e
− x 2− y 2
Adolfo Canahuire Condori
Superficie con sus curvas de nivel >> >> >> >>
[x,y]=meshgrid(-4:.1:4); surfc(x,y,exp(-x.^2)+exp(-y.^2)) axis([-4 4 -4 4 -0.5 2]) view(60,-15),axis off
Una rotación de 60º y una elevación de -15º
Curvas de nivel de la superficie
Para borrar los ejes
− x
z = e
2
− y
e
Adolfo Canahuire Condori
2
Curvas de nivel
Adolfo Canahuire Condori
Estos valores se obtienen con “clabel”
El color de las curvas de nivel varian desde la parte superior (rojo) a las parte inferior (azul) >> >> >> >> >>
Número de curvas de nivel
[x,y]=meshgrid(-2:.1:2); z=exp(-x.^2-y.^2); [C,h]=contour(x,y,z,7),axis square clabel(C,h) title('Curvas de nivel de z=e^{-x^2-y^2}','FontSize',14)
Superficie de revolución >> >> >> >> >> >> >>
t=0:.1:4;[x,y,z]=cylinder(sqrt(t)); subplot(1,2,1) plot(t,sqrt(t)) axis square,title('Curva que genera la superficie') subplot(1,2,2) surf(x,y,z),axis vis3d title('Superficie')
La curva gira alrededor del eje X, y este eje pasa a ser el eje Z cuando se obtiene la superficie de revolución
Adolfo Canahuire Condori
Cono truncado >> >> >> >> >> >>
t=0:.05:2;[x,y,z]=cylinder(2*(1-t./3)); subplot(1,2,1) plot(t,2*(1-t./3)),axis([0 2 0 3]) axis square subplot(1,2,2) surf(x,y,z),axis vis3d
Adolfo Canahuire Condori
Superficie generada por una hipérbola >> >> >> >> >> >>
2
t=-2:.1:2;[x,y,z]=cylinder(sqrt(1+(t.^2)/4)); subplot(1,2,1) plot(t,sqrt(1+(t.^2)/4)),axis([-2 2 0 3]) axis square subplot(1,2,2) surf(x,y,z),axis vis3d
y −
x
2
4
=1
Para no mezclar x , y , z de la función cylinder, es que se usa la variable t
f t =
1
2
t
4
Adolfo Canahuire Condori
Conos
>> >> >> >> >> >> >> >> >> >>
t=0:.05:1; [x,y,z]=cylinder(t);[X,Y,Z]=cylinder(2*t); subplot(1,2,1) plot(t,t,t,2*t),axis([0 1 0 3]) axis square subplot(1,2,2) surf(x,y,z,'FaceColor','blue') hold on surf(X,Y,Z,'FaceColor','green') axis vis3d
Adolfo Canahuire Condori
Tetraedros Adolfo Canahuire Condori
Con este número se divide el borde de la base de un cono en tres parte iguales. >> >> >> >> >> >> >>
t=0:.1:2;[x,y,z]=cylinder(t,3); subplot(1,2,1) surf(x,y,-z),axis vis3d,axis off title('Tetraedro','Fontsize',14) subplot(1,2,2) surf(x,y,z),axis vis3d,axis off title('Tetraedro invertido','Fontsize',14)
Paraboloides s f ol u r p s m z je e e n ó tro c i a n u fu c s la to sa s e u n e E s
>> >> >> >> >> >> >> >>
subplot(2,2,1) ezsurf('x^2+y^2'),axis square subplot(2,2,2) ezsurf('x^2+y^2','circ'),axis square subplot(2,2,3) ezsurf('4-x^2-y^2'),axis square subplot(2,2,4) ezsurf('4-x^2-y^2','circ'),axis square
Con la opción circ, se grafica la superficie sobre un disco centrado en el dominio de la función
Adolfo Canahuire Condori
Toro
>> >> >> >> >> >> >> >>
t=-1:.05:1;[x,y,z]=cylinder(3+sqrt(1-t.^2)); [x1,y1,z1]=cylinder(3-sqrt(1-t.^2)); subplot(2,1,1) plot(t,3+sqrt(1-t.^2),t,3-sqrt(1-t.^2)) axis([-2 2 0 4.5]),grid, axis square subplot(2,1,2) surf(x,y,z) hold on,surf(x1,y1,z1)
La rotación de la circunferencia alrededor del eje X , genera el toro.
Si borras los ejes con “axis off”, tienes lista la superficicie para incluirlo en tu trabajo
Adolfo Canahuire Condori
Elipsoide Ecuaciones paramétricas x = a cos u sin v y = b sin u sin v z = c cos v
>> >> >> >> >> >> >> >> >>
u=linspace(0,2*pi,50); v=linspace(0,pi,40); [U,V]=meshgrid(u,v); a=5;b=2;c=1; X=a*cos(U).*sin(V); Y=b*sin(U).*sin(V); Z=c*cos(V); mesh(X,Y,Z),axis image xlabel('X'),ylabel('Y'),zlabel('Z')
Dominio 0u 2
Ecuación cartesiana
0 v
x
2
a
2
x 5
2 2
y
2
b
2
y 2
2
z
c
2 2
2
=1
2
z 1
2
=1
Adolfo Canahuire Condori
Hemisferios Ecuaciones paramétricas x =2cos v cos u y = 2cos v sin u z = 2sin v
Dominio
>> >> >> >> >> >> >> >> >> >> >> >> >>
u=linspace(0,2*pi,50); v=linspace(0,pi/2,40); [U,V]=meshgrid(u,v); a=2; X=a*cos(V).*cos(U); Y=a*cos(V).*sin(U); Z=a*sin(V); subplot(1,2,1) mesh(X,Y,Z,'EdgeColor','red') axis equal subplot(1,2,2) mesh(X,Y,-Z,'EdgeColor','red') axis equal
0 u 2 0 v / 2
EdgeColor es un atributo de la malla (mesh), en este caso le damos a la malla el color rojo
Adolfo Canahuire Condori