CurvasysuperficiesdenivelenMatlabmatematicasfce.ece.buap.mx/documentos/samuel1.pdfCurvasysuperficiesdenivelenMatlab...

Post on 31-Jul-2020

4 views 0 download

Transcript of CurvasysuperficiesdenivelenMatlabmatematicasfce.ece.buap.mx/documentos/samuel1.pdfCurvasysuperficiesdenivelenMatlab...

Curvas y superficies de nivel en Matlab

Samuel Muñoz Aguilar

28 de mayo de 2016

A continuación les presento algunas gráficas de funciones en 3D y sus curvas de nivel hechascon Matlab.

%----CURVAS DE NIVEL 1----clcclearclose all

% Primera gráficasubplot(1, 2, 1)[X, Y] = meshgrid(-10:0.15:10);Z = -3*Y./(X.^2 + Y.^2 + 1); %Funciónsurf(X, Y, Z);shading interp %Interpola los coloresxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Superficie 1’)

% Segunda gráficasubplot(1, 2, 2)id = contour(X, Y, Z, 10);%Muestra valores numéricos en las lineas de contornoclabel(id)%Tipo de color para las dos gráficascolormap(hsv)xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Curvas de nivel 1’)%Muestra los ejes proporcionalesaxis equal

1

%----CURVAS DE NIVEL 2----clcclearclose all

% Primera gráficasubplot(1, 2, 1)[X, Y] = meshgrid(-5:0.2:5);R = X.^2; S = Y.^2;Z = exp(-(R + S)./3).*(sin(R) + cos(S)); %Funciónsurf(X, Y, Z);xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Superficie 2’)

% Segunda gráficasubplot(1, 2, 2)contour(X, Y, Z, 20);colormap(hsv) %Estilo de colorxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Curvas de nivel 2’)

2

%----CURVAS DE NIVEL 3----clcclearclose all

% Primera gráfica. Paraboloidesubplot(2, 2, 1)[X, Y] = meshgrid(-5:0.2:5);Z = X.^2 + Y.^2; %Funciónsurf(X, Y, Z);axis vis3dxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Paraboloide de revolución’)

% Segunda gráfica. Curvas de nivelsubplot(2, 2, 2)contour(X, Y, Z, 10);axis equalxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Curvas de nivel (Paraboloide)’)

% Tercera gráfica. Conosubplot(2, 2, 3)t=0:0.2:5;[x,y,z]=cylinder(t);surf(x, y, z);axis vis3dxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Cono’)

% Cuarta gráfica. Curvas de nivelsubplot(2, 2, 4)contour(x, y, z, 10);colormap(hsv) %Estilo de coloraxis equalxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Curvas de nivel (Cono)’)

3

%----CURVAS DE NIVEL 4----clcclearclose all

subplot(1, 2, 1)[X, Y] = meshgrid(-10:0.3:10);Z = X.*Y.^3 - Y.*X.^3;surf(X, Y, Z);shading interpxlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Silla de perro (superficie)’)

subplot(1, 2, 2)contour3(X, Y, Z, 40);xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Silla de perro (curvas de nivel)’)

4

%----SUPERFICIES DE NIVEL----clcclearclose all

u = linspace(0, 2*pi, 50);v = linspace(0, 2*pi, 40);[U,V] = meshgrid(u,v);a = 2;X = sin(V).*cos(U);Y = sin(V).*sin(U);Z = cos(V);contour3(a*X,a*Y,a*Z, 25, ’EdgeColor’,’green’)hold onb = 4;contour3(b*X,b*Y,b*Z, 25, ’EdgeColor’,’blue’)c = 6;contour3(c*X,c*Y,c*Z, 25, ’EdgeColor’,’magenta’)

axis vis3d %Hace a los 3 ejes proporcionales

xlabel(’Eje x’); ylabel(’Eje y’);zlabel(’Eje z’);title(’Superficies de nivel’)hold off

5

Como extra les comparto tres gráficas más, espero les sean útiles.

%----FUNCIÓN SENOIDAL ALREDEDOR DE UN CILINDRO----clcclearclose all

t = linspace(0, 2*pi, 500);a = 10;b = 1;c = 0.3;plot3(b*cos(t), b*sin(t), c*cos(a*t));xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Seno alrededor de un cilindro’)

6

%----SUPERFICIE SIN LINEAS----clcclearclose all

[X, Y] = meshgrid(-10:0.3:10);R = sqrt(X.^2 + Y.^2) + eps;Z = sin(R)./R;surf(X, Y, Z);shading flat; %Quita las lineas negras de la superficiexlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)title(’Gráfica de superficie’)

7

%----TORO----clcclearclose all

t = -1:0.05:1;[x,y,z]=cylinder(3+sqrt(1-t.^2));[x1,y1,z1]=cylinder(3-sqrt(1-t.^2));

%Primera parte del torosurf(x,y,z)hold on%Segunda parte del torosurf(x1,y1,z1)title(’Toro’)%Oculta los ejesaxis off

Para cada gráfica recomiendo que hagan un nuevo Script y así puedan modificar su códigocuantas veces quieran. No tengan miedo de mover los parámetros de cada gráfica pues soloasí podrán saber qué hace cada instrucción. Recuerden que si no entienden una función deMatlab, pueden escribir en el Command Window:

help ’función’

y aparecerá una ventana de ayuda donde se explica que hace y cuales son los parámetros dela función que quieran.

8