Sie sind auf Seite 1von 18

SUPERFICIES CON MATLAB

Adolfo Canahuire Condori

2 −x 2
f  x , y= y e
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 Para etiquetar


meshgrid, Función surf
del Matlab los ejes
determina el
dominio de la para graficar
función una superficie
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

2x y−z=1
Adolfo Canahuire Condori
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)
2
w=4− x
Hold on
es para realizar
una gráfica
sobre otra

2
z=4− y

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


>> [x,y]=meshgrid(-3:.2:3);
Subgráficos >>
>>
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 >> subplot(1,2,2)
para crear >> surf(x,y,z2),axis vis3d
subventanas >> daspect([10 10 1])
en la ventana
de la figura

2 2 −x 2− y 2
−x 2− y 2 f  x , y= x y e
f  x , y=−xy e
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 Para borrar los
ejes

Una rotación de 60º


y una elevación de 2 2
−x −y
-15º
z=e e

Adolfo Canahuire Condori


Curvas de nivel de la superficie
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 Número de curvas
inferior (azul) 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
>> 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

2
2 x
y − =1
4


2
Para no mezclar x, y, z de t
la función cylinder, es que f t = 1
se usa la variable t 4 Adolfo Canahuire Condori
>> t=0:.05:1;
Conos >> [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)
>> subplot(2,2,1)
>> ezsurf('x^2+y^2'),axis square
Paraboloides >> 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
se usa la f ro ejemplos
ur f
unción ezs
uat

Con la opción circ, se


En estos c

grafica la superficie
sobre un disco
centrado en el
dominio de la
función

Adolfo Canahuire Condori


>> t=-1:.05:1;[x,y,z]=cylinder(3+sqrt(1-t.^2));
>> [x1,y1,z1]=cylinder(3-sqrt(1-t.^2));
Toro >> 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)

Si borras los ejes con


La rotación de la “axis off”, tienes lista
circunferencia la superficicie para
alrededor del eje X, incluirlo en tu trabajo
genera el toro.

Adolfo Canahuire Condori


>> u=linspace(0,2*pi,50);
Elipsoide >>
>>
v=linspace(0,pi,40);
[U,V]=meshgrid(u,v);
Ecuaciones paramétricas >> a=5;b=2;c=1;
>> X=a*cos(U).*sin(V);
x=a cos u sin v >> Y=b*sin(U).*sin(V);
y=b sin u sin v >> Z=c*cos(V);
>> mesh(X,Y,Z),axis image
z=c cos v >> xlabel('X'),ylabel('Y'),zlabel('Z')

Dominio
0u2 
Ecuación
0v cartesiana
x2 y 2 z2
2
 2  2 =1
a b c

2 2 2
x y z
2
 2
 2
=1
5 2 1

Adolfo Canahuire Condori


>> u=linspace(0,2*pi,50);
Hemisferios >>
>>
v=linspace(0,pi/2,40);
[U,V]=meshgrid(u,v);
>> a=2;
>> X=a*cos(V).*cos(U);
Ecuaciones paramétricas >> Y=a*cos(V).*sin(U);
>> Z=a*sin(V);
x=2 cos v cos u >> subplot(1,2,1)
y=2 cos v sin u >> mesh(X,Y,Z,'EdgeColor','red')
z=2sin v >> axis equal
>> subplot(1,2,2)
>> mesh(X,Y,-Z,'EdgeColor','red')
>> axis equal
Dominio

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

Das könnte Ihnen auch gefallen