You are on page 1of 9

PRCTICA

GRFICAS EN EL ESPACIO

Prcticas Matlab
Prctica 8

Objetivos

Representarcurvasysuperficiesenelespacio.
Representarlagrficadeunafuncin

ComandosdeMatlab

Paragenerarunamalladepuntosenlosqueevaluarunafuncindedosvariables.

meshgrid(x,y)
meshgrid(x)

%Esequivalenteameshgrid(x,x)

Ejemplo.
>>%Para evaluar la funcin f(x,y)=x^2*y en
>>%el dominio 2<x<2, -3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.5:3);
>>Z=X.^2.* Y

Grficostridimensionales.

plot3(X,Y,Z,S)

Dibujalascurvasoelconjuntodepuntos(X,Y,Z)dondeX,YyZsonvectoresfilaySson
lasopcionesdedibujo.

plot3(X1,Y1,Z1,S1,X2,Y2,Z2,S2,...)

Dibujasobrelosmismosejeslosgrficosdefinidosporlastripletas(Xi,Yi,Zi)conlas
opcionesdedibujoporSi.

Ejemplo.

>>%Para dibujar curvas sobre la superficie f(x,y)=x^2*y


>>%en el dominio 2<x<2,-3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.5:3)
>>Z=X.^2.*Y
>>plot3(X,Y,Z)

PGINA 2

MATLAB: GRFICAS EN EL ESPACIO

Grficosdesuperficie.

surf(X,Y,Z,C)

Representaelgrficodesuperficiedelafuncinz=f(x,y)conloscoloresespecificados
enC(esteltimoparmetrosepuedeignorar).

surfc(X,Y,Z,C)

Representaelgrficodesuperficiedelafuncinz=f(x,y)juntoconelgrficode
contornocorrespondiente(curvasdenivel)

Ejemplo.

>>%Para dibujar la superficie definida por f(x,y)=x^2*y


>>%en el dominio 2<x<2, -3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.5:3);
>>Z=X.^2.*Y;
>>figure(1)
>>surf(X,Y,Z)
>>figure(2)
>>surfc(X,Y,Z)

Grficosdemalla.

mesh(X,Y,Z,C)

Representaelgrficodemalladelafuncinz=f(x,y)conloscoloresespecificadosenC
(esteltimoparmetrosepuedeignorar).

meshc(X,Y,Z,C)

Representaelgrficodemalladelafuncinz=f(x,y)juntoconelgrficodecontorno
correspondiente(curvasdenivel)

meshz(X,Y,Z,C)

Representaelgrficodemalladelafuncinz=f(x,y)juntoconunaespeciedecortinaen
laparteinferior.

Ejemplo.
>>%Para dibujar el grfico de malla de la funcin
>>%f(x,y)=x^2*y en el %dominio 2<x<2 -3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.5:3);
>>Z=X.^2.*Y;
>>figure(1)
>>mesh(X,Y,Z)
>>figure(2)
>>meshc(X,Y,Z)
>>figure(3)
>>meshz(X,Y,Z)

MATLAB: PRCTICA 6

PGINA 3

Grficosdecontorno(curvasdenivel).

contour(Z,n)

RepresentaelgrficodecontornoparalamatrizZusandonlneas.Elsegundo
parmetroesopcional.

contour3(Z,n)

RepresentaelgrficodecontornoentresdimensionesparalamatrizZusandonlneas.
Elsegundoparmetroesopcional.

Ejemplo.
>>%Para dibujar curvas de nivel de f(x,y)=x^2+y^2 en el
>>%dominio 2<x<2, -3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.2:3);
>>Z=X.^2.+Y.^2;
>>figure(1)
>>contour(Z)
>>figure(2)
>>contour3(Z)

Grficosdedensidad

pcolor(X,Y,Z)

Representaelgrficodecontornoparalamatriz(X,Y,Z)utilizandodensidadesde
colores.
Ejemplo.
>>%Para evaluar la funcin f(x,y)=x^2+y^2 en el
>>%dominio 2<x<2, -3<y<3
>>[X,Y]=meshgrid(-2:.2:2,-3:0.2:3);
>>Z=X.^2.+Y.^2;
>>pcolor(X,Y,Z)

Representacin

view([x,y,z])

Sitaelpuntodevistadelafiguraenelindicadoporlascoordenadas(x,y,z).

ginput

Nosdevuelvelascoordenadas(x,y)delpuntounavezseleccionadoenlagrfica.

PGINA 4

MATLAB: GRFICAS EN EL ESPACIO

Ejerciciosresueltos
Representacindesuperficies

a) Representalasuperficiedeecuacin z x 2 y 2 enelrectngulo
R [3,3] [3,3] .Dibujaenunamismafiguraseisgrficas
probandoloscomandos:surf, surfc, mesh, meshc,
contour, contour3 y plot3.
b) Representalasuperficiedelapartadoa)utilizandolas
ecuacionesparamtricas,

x u cos v, y u sen v, z u 2
para 0 u 5, 0 v 2 .

Solucin:

CdigoMatlab:

(a)

[X,Y]=meshgrid(-3:.2:3,-3:0.2:3);
Z=X.^2.+Y.^2;
subplot(2,3,1); surf(X,Y,Z)
subplot(2,3,2); mesh(X,Y,Z)
subplot(2,3,4); surfc(X,Y,Z)
subplot(2,3,5); meshc(X,Y,Z)
subplot(2,3,3); plot3(X,Y,Z)
subplot(2,3,6); contour(X,Y,Z,6)

(b)

u=0:.1:5;v=0:pi/50:2*pi;;
[U,V]=meshgrid(u,v);
X=U.*cos(V); Y=U.*sin(V); Z=U.^2;
subplot(2,2,1); surf(X,Y,Z)
subplot(2,2,2); mesh(X,Y,Z)
subplot(2,2,3); meshc(X,Y,Z)
subplot(2,2,4); contour3(X,Y,Z,8)

Representacinparamtricadecurvas

x cos t

(a)Representarlahlicecircular y sen t

t
z
2

con t

x cos t

(b)Representarlahliceelptica y 2sen t

t
z
5

con t

MATLAB: PRCTICA 6

PGINA 5

Solucin:
CdigoMatlab
(a)

%Se define el rango del parmetro. Se declaran


%las variables en funcin del mismo y, por la
%instruccin plot3 se dibuja la hlice circular sobre el
%espacio.
t=linspace(0,4*pi,1000);x=cos(t);y=sin(t);z=t/(2*pi);
plot3(x,y,z); grid on
%Declarando el parmetro simblicamente podemos
%representar la hlice circular a travs de la
%instruccin ezplot3
syms t
x=cos(t);y=sin(t);z=t/(2*pi);
ezplot3(x,y,z,[0,4*pi])
%Se explicita el dominio del parmetro, ya que
%por defecto MATLAB hubiese tomado el intervalo [0,2*pi]

(b)

t=linspace(0,4*pi,1000); x=cos(t); y=2*sin(t); z=t/5;


plot3(x,y,z)
%Para ver el dibujo con la misma escala en los
%tres ejes slo necesitamos escribir
axis equal

Representacindefuncionesdedosvariablessobreunrectngulo

(a) z

(b) z

sen x 2 y 2
x2 y 2
x2 y 2
x2 y 2

en

en

8,8 6,6

8,8 3,3

Solucin:

(a)
CdigoMatlab
x=-8:0.5:8; y=-6:0.5:6; [X,Y]=meshgrid(x,y);
r=sqrt(X.^2+Y.^2); Z=sin(r)./r;
surf(X,Y,Z)

Nota:Observarqueestafuncinnoestdefinidaenelpunto(0,0),aunquesepodradefinir
conelvalor0parahacerlacontinua.
(b)

CdigoMatlab
x=-8:0.5:8; y=-3:0.5:3; [X,Y]=meshgrid(x,y);
Z=(X.^2-Y.^2)./(X.^2+Y.^2);
surf(X,Y,Z)

Nota:Observarqueestafuncinnoescontinuaenelpunto(0,0).

PGINA 6

MATLAB: GRFICAS EN EL ESPACIO

Representarlasfuncionesanterioresutilizandounasecuaciones
paramtricas.Setomarncomoparmetroslasvariablesdelsistemade
coordenadaspolares.

(a)

(b)

sen x 2 y 2
x2 y 2

x2 y2

x2 y 2

Enamboscasostomaremos r , t 0,8 0, 2 ,siendo x r cos t e


y r sen t .

Solucin:

(a)
CdigoMatlab
%Hacemos un rectngulo en r,t
r=linspace(0,10,20);
t=linspace(0,2*pi,20);
[R,T]=meshgrid(r,t);
X=R.*cos(T);
Y=R.*sin(T);
r= sqrt(X.^2+Y.^2);
Z=sin(r)./(r);
surf(X,Y,Z)

(b)

CdigoMatlab
%Hacemos un rectngulo en r,t
r=linspace(0,10,30);
t=linspace(0,2*pi,30);
[R,T]=meshgrid(r,t);
X=R.*cos(T);
Y=R.*sin(T);
Z=(R.^2).*cos(2*T)./(R.^2)
surf(X,Y,Z)

Curvasdenivel

Dadaunafuncin z f x, y lascurvasdenivelsonlascurvasplanasde
ecuacin f x, y k siendo k unpuntodelrangode f .Son,portanto,

las curvas interseccin de la superficie grfica de f con los planos


horizontales z k .

(a) Representa en una matriz de grficos 1x2 la superficie en el lado


izquierdoydiezcurvasdenivelde f x, y 64 4 x 2 y 2 cuando

x 2, 2 , y 3,3 enlapartederecha.

MATLAB: PRCTICA 6

PGINA 7

(b) Representa en una matriz de grficos 1x2 la superficie en el lado


5
cos 5.4 y
izquierdo y las curvas de nivel de f x, y 4
cuando
2
6 6 3 x 1

x 1,1 , y 1,1 enlapartederechaparalosvaloresdek=0.1,

0.2y0.3.

Solucin
(a) CdigoMatlab
%Para representar unas lneas de contorno utilizaremos el
%comando contour(X,Y,f(X,Y),n), siendo n las lneas de
%contorno equiespaciados. Se puede sustituir el argumento
%n por un vector
%con las coordenadas que nos interesen
x=-2:.5:2;
y=-3:.5:3;
[X,Y]=meshgrid(x,y);
f=inline('sqrt(64-4*x.^2-y.^2)','x','y');
Z=f(X,Y);
subplot(1,2,1); surf(X,Y,Z);
subplot(1,2,2)
contour(X,Y,Z,10)

(b) CdigoMatlab

numPuntos=40;
x = linspace(0,1,numPuntos); y = linspace(0,1,numPuntos);
[X,Y] = meshgrid(x,y);
Z=(5/4 + cos(5.4.*Y))./(6 + 6.*(3.*X-1).^2);
subplot(1,2,1)
mesh(X,Y,Z);
%El siguiente comando nos permite un punto desde donde
ver la superficie
view(3);
subplot(1,2,2)
contour(X,Y,Z,[0.1 0.2 0.3])

Ejerciciospropuestos
Superficiescuadrticas.

Elgrficodeunafuncindetresvariablesseraunasuperficie
tridimensionalcontenidaenunespaciodecuatrodimensiones,porlo
tanto,nopuedeservisualizado.Sinembargolassuperficiesdeecuacin

F x, y , z c

puedenconsiderarsecomolassuperficiesdeniveldeunafuncindetres
variables.

PGINA 8

MATLAB: GRFICAS EN EL ESPACIO

Introduccinaladerivadaparcial
Paramedirlavariacindeunafuncin,seconsideralarestriccindela
funcinarectasparalelasalosejes x e y ,sobrelasqueseestudiael
incrementoenlaotravariable,quequedafija.
(a)

Representarenunamismafiguralagrficadelafuncin
f x, y x 2 y 2 yelplano x 2 .Culeslacurva
interseccindeestasdossuperficies?Estacurva
interseccineslaimagendeunospuntosdeldominiode f
quecuacincumplenestospuntos?

(b)

Representarenunamismafiguralagrficadelafuncin
z x 2 y 2 yelplano y 2 .Culeslacurvainterseccin
deestasdossuperficies?Estacurvainterseccinesla
imagendeunospuntosdeldominiode f quecuacin
cumplenestospuntos?

Nota:Observarquelacurvaimagendelospuntosqueseencuentranen
unarectaparalelalaejeX(resp.alejeY)sonlainterseccindelagrfica
delafuncinyelplanoverticalquecontienealarectaparalelaalejeX
(respectivamentealeje y ).

Superficiescuadrticas.

Elgrficodeunafuncindetresvariablesseraunasuperficie
tridimensionalcontenidaenunespaciodecuatrodimensiones,porlo
tanto,nopuedeservisualizado.Sinembargolassuperficiesdeecuacin

F x, y , z c

puedenconsiderarsecomolassuperficiesdeniveldeunafuncindetres
variables.

As,porejemplo,laesferadeecuacin x 2 y 2 z 2 r 2 eslasuperficie
deniveldelafuncin w F x, y, z x 2 y 2 z 2 r 2 para k 0 .

Puedeutilizarseelsiguientecdigopararepresentarestasuperficie
cuando r 3 .

x=linspace(-20,20,100);
y=linspace(-20,20,100);
z=linspace(-20,20,100);
[X,Y,Z]=meshgrid(x,y,z);
%Se define Q(x,y,z)=x^2+y^2+z^2-9
Q= X.^2 +(Y.^2) +(Z.^2) -9;
%Se representa la superficie de nivel
%Q(x,y,z)=0
H=patch(isosurface(X,Y,Z,Q,0));
isonormals(X,Y,Z,Q, H);

MATLAB: PRCTICA 6

PGINA 9

%Para dibujar la superficie en color rojo


%e iluminada
set(H, 'FaceColor', 'red', 'EdgeColor',
'none');
daspect([1 1 1])
view(3)
camlight
lighting phong
axis equal
xlabel('x'); ylabel('y'); zlabel('z')

Sepide:
(a)

Elegirdossuperficiescuadrticas(vernota)yrepresentarsu
grfica.

Nota.Unasuperficiecuadrticatieneporecuacin

Ax 2 By 2 Cz 2 Dx Ey Fz G 0
(b)

Representarlasuperficie
3

9 2 3 2 9 2

x z
y z x y z 2 1 0
80
4

2 3

para x, y , z ,en 3,3 .

You might also like