Curvas y superficies de nivel en Matlab

Anuncio
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 hechas
con Matlab.
%----CURVAS DE NIVEL 1---clc
clear
close all
%
Primera gráfica
subplot(1, 2, 1)
[X, Y] = meshgrid(-10:0.15:10);
Z = -3*Y./(X.^2 + Y.^2 + 1);
%Función
surf(X, Y, Z);
shading interp
%Interpola los colores
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Superficie 1’)
%
Segunda gráfica
subplot(1, 2, 2)
id = contour(X, Y, Z, 10);
%Muestra valores numéricos en las lineas de contorno
clabel(id)
%Tipo de color para las dos gráficas
colormap(hsv)
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Curvas de nivel 1’)
%Muestra los ejes proporcionales
axis equal
1
%----CURVAS DE NIVEL 2---clc
clear
close all
%
Primera gráfica
subplot(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ón
surf(X, Y, Z);
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Superficie 2’)
%
Segunda gráfica
subplot(1, 2, 2)
contour(X, Y, Z, 20);
colormap(hsv)
%Estilo de color
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Curvas de nivel 2’)
2
%----CURVAS DE NIVEL 3---clc
clear
close all
%
Primera gráfica. Paraboloide
subplot(2, 2, 1)
[X, Y] = meshgrid(-5:0.2:5);
Z = X.^2 + Y.^2;
%Función
surf(X, Y, Z);
axis vis3d
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Paraboloide de revolución’)
%
Segunda gráfica. Curvas de nivel
subplot(2, 2, 2)
contour(X, Y, Z, 10);
axis equal
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Curvas de nivel (Paraboloide)’)
%
Tercera gráfica. Cono
subplot(2, 2, 3)
t=0:0.2:5;
[x,y,z]=cylinder(t);
surf(x, y, z);
axis vis3d
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Cono’)
%
Cuarta gráfica. Curvas de nivel
subplot(2, 2, 4)
contour(x, y, z, 10);
colormap(hsv)
%Estilo de color
axis equal
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Curvas de nivel (Cono)’)
3
%----CURVAS DE NIVEL 4---clc
clear
close all
subplot(1, 2, 1)
[X, Y] = meshgrid(-10:0.3:10);
Z = X.*Y.^3 - Y.*X.^3;
surf(X, Y, Z);
shading interp
xlabel(’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---clc
clear
close 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 on
b = 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---clc
clear
close 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---clc
clear
close 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 superficie
xlabel(’Eje x’), ylabel(’Eje y’), zlabel(’Eje z’)
title(’Gráfica de superficie’)
7
%----TORO---clc
clear
close 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 toro
surf(x,y,z)
hold on
%Segunda parte del toro
surf(x1,y1,z1)
title(’Toro’)
%Oculta los ejes
axis off
Para cada gráfica recomiendo que hagan un nuevo Script y así puedan modificar su código
cuantas veces quieran. No tengan miedo de mover los parámetros de cada gráfica pues solo
así podrán saber qué hace cada instrucción. Recuerden que si no entienden una función de
Matlab, 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 de
la función que quieran.
8
Descargar