superficies con matlab

18
SUPERFICIES CON MATLAB SUPERFICIES CON MATLAB Adolfo Canahuire Condori Adolfo Canahuire Condori f x,y = y 2 e x 2

Upload: alonso-vaca-voladora

Post on 21-Apr-2015

65 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Superficies Con Matlab

SUPERFICIES CON MATLABSUPERFICIES CON MATLABAdolfo Canahuire CondoriAdolfo Canahuire Condori

f x , y= y2 e−x2

Page 2: Superficies Con Matlab

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

Page 3: Superficies Con Matlab

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.

Page 4: Superficies Con Matlab

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

Page 5: Superficies Con Matlab

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

Page 6: Superficies Con Matlab

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

Page 7: Superficies Con Matlab

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

Page 8: Superficies Con Matlab

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

Page 9: Superficies Con Matlab

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

Page 10: Superficies Con Matlab

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

Page 11: Superficies Con Matlab

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

Page 12: Superficies Con Matlab

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

Page 13: Superficies Con Matlab

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

Page 14: Superficies Con Matlab

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

Page 15: Superficies Con Matlab

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

Page 16: Superficies Con Matlab

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

Page 17: Superficies Con Matlab

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

Page 18: Superficies Con Matlab

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