SUPERFICIES CON MATLABSUPERFICIES CON MATLABAdolfo Canahuire CondoriAdolfo Canahuire Condori
f x , y= y2 e−x2
PRESENTACIÓNPRESENTACIÓ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 ejemploUn primer ejemplo>> [x,y]=meshgrid(-4:.25:4);>> z=y.^3;>> surf(x,y,z)>> axis square>> xlabel('Eje X'),ylabel('Eje Y'),zlabel('Eje Z')
Adolfo Canahuire Condori
Función surfdel Matlabpara graficaruna superficie
Para etiquetarlos ejes
La funciónmeshgrid, determina el dominio de lafunción
La función z=y3
La funcionespara graficarsuperficies enel Matlab son:surfmeshsurflezsurfetc.
Dos planosDos planos>> [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')
x− yz=0
2xy−z=1
Leyenda
Adolfo Canahuire Condori
Hold ones para realizaruna gráfica sobre otra
Dos cilindros parabólicosDos 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)
z=4− y2
w=4−x2
Adolfo Canahuire Condori
Hold ones para realizaruna gráfica sobre otra
Función:Función: z=sin x2 y2>> [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 proporcionauna escala de grises
Adolfo Canahuire Condori
SubgráficosSubgráficos>> [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])
f x , y =x2 y2e−x2− y2
f x , y =−xy e−x2− y2
Adolfo Canahuire Condori
Subplotpara crearsubventanasen la ventanade la figura
Superficie con sus curvas de nivelSuperficie 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º
Para borrar losejes
Curvas de nivel de la superficie
z=e−x2
e− y2
Adolfo Canahuire Condori
Curvas de nivelCurvas 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)
Número de curvasde nivel
El color de lascurvas de nivelvarian desde laparte superior
(rojo) a las parteinferior (azul)
Estos valores seobtienen con
“clabel”
Adolfo Canahuire Condori
Superficie de revoluciónSuperficie 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 alrededordel eje X, y este ejepasa a ser el eje Z
cuando se obtiene lasuperficie de
revolución Adolfo Canahuire Condori
Cono truncadoCono 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érbolaSuperficie generada por una hipérbola>> 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
y2− x2
4=1
Para no mezclar x, y, z dela función cylinder, es que
se usa la variable tf t =1 t 24 Adolfo Canahuire Condori
ConosConos >> 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
TetraedrosTetraedros
>> 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)
Con este númerose divide el borde dela base de un cono
en tres parte iguales.
Adolfo Canahuire Condori
ParaboloidesParaboloides>> 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, segrafica la superficie
sobre un disco centrado en eldominio de la
función
En e
stos
cua
tro e
jem
plos
se u
sa la
func
ión
ezsu
rf
Adolfo Canahuire Condori
ToroToro
Si borras los ejes con“axis off”, tienes lista la superficicie para
incluirlo en tu trabajo
>> 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 lacircunferencia
alrededor del eje X, genera el toro.
Adolfo Canahuire Condori
ElipsoideElipsoide >> 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')
Adolfo Canahuire Condori
x=a cosu sin vy=bsin u sin vz=ccos v
Ecuaciones paramétricas
Dominio
0u20v
x2
a2 y
2
b2 z
2
c2=1
Ecuacióncartesiana
x2
52 y
2
22 z
2
12=1
HemisferiosHemisferios>> 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
Adolfo Canahuire Condori
x=2cos v cosuy=2cosv sin uz=2sin v
Ecuaciones paramétricas
Dominio
0u20v/2
EdgeColor es un atributo de la malla(mesh), en este caso le damos a la
malla el color rojo