SUPERFICIES CON MATLAB SUPERFICIES CON MATLAB
Adolfo Canahuire Condori Adolfo Canahuire Condori
f x , y= y 2 e −x
2PRESENTACIÓN 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 Un 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 surf
del Matlab para graficar una superficie
Para etiquetar los ejes
La función meshgrid, determina el dominio de la función
La función z=y3
La funciones para graficar superficies en el Matlab son:
surf mesh surfl ezsurf etc.
Dos planos Dos 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
2x y−z=1
Leyenda
Adolfo Canahuire Condori Hold on
es para realizar una gráfica sobre otra
Dos cilindros parabólicos 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)
z
=4− y
2w
=4−x
2Adolfo Canahuire Condori Hold on
es para realizar una gráfica sobre otra
Función:
Función: z =sin x 2 y 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
Subgrá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=x
2y
2e
−x2− y2f x , y=−xy e
−x2− y2Adolfo Canahuire Condori Subplot
para crear subventanas en la ventana de la figura
Superficie con sus curvas de nivel 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º
Para borrar los ejes
Curvas de nivel de la superficie
z =e −x
2e − y
2Adolfo Canahuire Condori
Curvas de nivel 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) Número de curvas
de nivel El color de las
curvas de nivel varian desde la parte superior (rojo) a las parte
inferior (azul)
Estos valores se obtienen con
“clabel”
Adolfo Canahuire Condori
Superficie de revolución 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 CondoriCono truncado 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 Superficie 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
y
2− x
24 =1
Para no mezclar x, y, z de la función cylinder, es que
se usa la variable t
f t= 1 t 4
2 Adolfo Canahuire CondoriConos
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 Tetraedros
>> 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úmero
se divide el borde de la base de un cono en tres parte iguales.
Adolfo Canahuire Condori
Paraboloides Paraboloides
>> 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
En estos cuatro ejemp los
se usa la función ezsurf
Adolfo Canahuire Condori
Toro Toro
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 la circunferencia alrededor del eje X,
genera el toro.
Adolfo Canahuire Condori
Elipsoide
Elipsoide
>> 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 cos u sin v
y=bsin u sin v z=c cos v
Ecuaciones paramétricas
Dominio
0u2
0v
x2
a2 y2
b2 z2 c2=1
Ecuación cartesiana
x2
5
2
y22
2
z21
2=1
Hemisferios
Hemisferios
>> 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 cos u
y=2 cos v sin u z=2sin v
Ecuaciones paramétricas
Dominio
0u2
0v/2
EdgeColor es un atributo de la malla