Você está na página 1de 22

Visualizao Cientfica

MQI 2104 - Processamento e


Anlise de Sinais Digitais

Matlab:
Extensos recursos de visualizao cientfica

Grficos Bidimensionais

Carlos Hall Sala 06 Ramal 1226


hall@ele.puc-rio.br

plot
plotyy
semilogx, semilogy, loglog
outros grficos bidimensionais

Grficos Tridimensionais

Grficos Bidimensionais
Funo plot

Grficos Bidimensionais
Funo plot

Diversas sintaxes, dependendo dos


argumentos de entrada
Sejam x e y vetores de mesmo comprimento

Exemplo: grfico da funo seno com 201


pontos
>> x = 0:pi/100:2*pi;
>> y = sin(x)
>> plot(x,y)

plot(y): grfico dos elementos de y versus os


ndices desses elementos
plot(x,y): grfico dos elementos de y versus os
elementos de x

Grficos Bidimensionais
Funes de Anotao
xlabel(string): define o nome do eixo x
ylabel(string): define o nome do eixo y
zlabel(string): define o nome do eixo z
title(string): define o ttulo do grfico
legend(string): acrescenta uma legenda
text(x,y, string): adiciona um texto
qualquer, na posio (x,y)

Grficos Bidimensionais
No exemplo
>>
>>
>>
>>
>>

xlabel('x = 0:2\pi')
ylabel('Sin(x)')
title(Grfico da Funo Seno')
legend('sin(x)')
text(pi,0, 'ponto (\pi,0)')

Grficos Bidimensionais
No exemplo

Grficos Bidimensionais
No exemplo

title
legend
text

ylabel

xlabel

Grficos Bidimensionais
Funes de Anotao
Todas aceitam subconjunto da notao TeX
Exemplo: xlabel('-\pi \leq {\itt} \leq \pi')

Grficos Bidimensionais
Funo plot com mltiplas curvas:

Grficos Bidimensionais
Funo plot com mltiplas curvas:
Exemplo: grficos da funo seno com
diferentes freqncias
>> t = 0:1/100:1;
>> f1 = 1;
>> f2 = 2;
>> f3 = 5;
>> y1 = sin(2*pi*f1*t);
>> y2 = sin(2*pi*f2*t);
>> y3 = sin(2*pi*f3*t);
>> plot(t,y1,t,y2,t,y3)

Grficos Bidimensionais
Funo plot com mltiplas curvas:

Exemplo: grficos da funo seno com


diferentes freqncias
>> xlabel('t(s)')
>> ylabel('Sin(2\pift)')
>> title('Grficos da Funo Seno')
>> legend('f=1 Hz', 'f=2 Hz', 'f=5 Hz')

Grficos Bidimensionais
Funo plot com mltiplas curvas:
Maneira alternativa: Matriz de dados
>> t = 0:1/100:1;
>> f1 = 1;
>> f2 = 2;
>> f3 = 5;
>> Y(1,:) = sin(2*pi*f1*t);
>> Y(2,:) = sin(2*pi*f2*t);
>> Y(3,:) = sin(2*pi*f3*t);
>> plot(t,Y)

Grficos Bidimensionais
Funo plot com mltiplas curvas:
Outra maneira alternativa: funo hold
>>
>>
>>
>>
>>
>>
>>

t = 0:1/100:1;
f1 = 1;
f2 = 2;
f3 = 5;
y1 = sin(2*pi*f1*t);
y2 = sin(2*pi*f2*t);
y3 = sin(2*pi*f3*t);

MESMO RESULTADO !

Grficos Bidimensionais
Funo plot com mltiplas curvas:
Outra maneira alternativa: funo hold
>>
>>
>>
>>
>>

plot(t, y1,'b')
hold on
plot(t, y2,'g')
plot(t, y3,'r')
hold off

Mantm o contedo da figura

Grficos Bidimensionais
Definindo os Estilos das Curvas
possvel especificar as cores, estilos de
linha e marcadores
plot(x,y, formato')
formato: string de 1 a 4 caracteres

Libera o contedo da figura

MESMO RESULTADO !

Grficos Bidimensionais

Grficos Bidimensionais

Definindo os Estilos das Curvas

Definindo os Estilos das Curvas

plot(x,y, formato')
formato: string de 1 a 4 caracteres
cores: cyan, magenta, yellow, red, green,
blue, white, black
estilos: - slida, -- tracejada, : pontilhada, . trao-ponto, sem linha
marcadores: +, o, *, x, square, diamond,
^ tringulo, v tringulo invertido, > tringulo
para direita, < tringulo para esquerda,
pentagram, hexagram, sem marcador

Exemplo
>> x1 = 0:pi/100:2*pi;
>> x2 = 0:pi/10:2*pi;
>> plot(x1,sin(x1),b:',x2,sin(x2),'r+')

Grficos Bidimensionais

Grficos Bidimensionais

Definindo os Estilos das Curvas


Exemplo

Ajustando os Eixos
axis: controla a escala e aparncia do grfico
xlim, ylim, zlim: definem os limites dos eixos
X,Y e Z, respectivamente
grid: liga/desliga linhas de grade
box: liga/desliga moldura do grfico

Grficos Bidimensionais

Grficos Bidimensionais

Ajustando os Eixos: axis

Ajustando os Eixos: axis

axis on / axis off: liga/desliga os eixos,


escalas e fundo

axis([xmin,xmax,ymin,ymax]) ou
axis([xmin,xmax,ymin,ymax,zmin,zmax]):
definem os limites inferior e superior dos
eixos X, Y, Z
No exemplo: >> axis([-0.1 1.1 -1.1 1.1])

off

Grficos Bidimensionais
Ajustando os Eixos: axis

on

Grficos Bidimensionais
Ajustando os Eixos: axis auto/manual/tight
axis auto: retorna os limites para os
definidos automaticamente
axis manual: congela a definio dos limites,
de modo que ao usar o hold on, estes no se
alterem
axis tight: define os limites iguais s faixas
de variao dos dados

Grficos Bidimensionais
Ajustando os Eixos: axis ij / axis xy

Grficos Bidimensionais
Ajustando os Eixos: axis ij / axis xy

axis ij: coloca os eixos no modo matriz,


com a origem no canto superior esquerdo
axis xy: retorna ao modo Cartesiano, com a
origem no canto inferior esquerdo

axis ij

Grficos Bidimensionais
Ajustando os Eixos: xlim, ylim, zlim
As trs funes tm a mesma sintaxe
xlim([xmin xmax])
ylim([ymin ymax])
zlim([zmin zmax])

axis xy

Grficos Bidimensionais
Ajustando os Eixos: grid
grid on: ativa as linhas de grade principais
grid minor: ativa as linhas de grade
secundrias

Equivalentes, em conjunto, a:
axis([xmin,xmax,ymin,ymax,zmin,zmax]):

grid off: desativa todas as linhas de grade


grid: ativa/desativa as linhas de grade
principais

Grficos Bidimensionais
Ajustando os Eixos: grid

grid off

Grficos Bidimensionais
Ajustando os Eixos: grid

grid on

grid off

grid minor

Grficos Bidimensionais

Grficos Bidimensionais

Ajustando os Eixos: box

Ajustando os Eixos: box

box on: ativa a moldura do grfico


box off: desativa a moldura do grfico
box: ativa/desativa a moldura do grfico

box on

Grficos Bidimensionais

Grficos Bidimensionais

Mltiplos Grficos na Mesma Figura


funo subplot(m,n,i)
m: nmero de linhas
n: nmero de colunas
i: identificador do grfico atual

Usada em combinao com a funo plot


Indica onde ser traado o prximo grfico,
dentro de uma mesma figura
i varia de 1 at m x n

Grficos Bidimensionais

Mltiplos Grficos na Mesma Figura


No exemplo das 3 senides:
>> subplot(1,3,1)
>> plot(t, y1,'b')
>> subplot(1,3,2)
>> plot(t, y2,'g')
>> subplot(1,3,3)
>> plot(t, y3,'r')

Grficos Bidimensionais

Mltiplos Grficos na Mesma Figura

box off

Mltiplos Grficos na Mesma Figura


No exemplo das 3 senides:
>> subplot(3,1,1)
>> plot(t, y1,'b')
>> subplot(3,1,2)
>> plot(t, y2,'g')
>> subplot(3,1,3)
>> plot(t, y3,'r')

Grficos Bidimensionais
Mltiplos Grficos na Mesma Figura

Grficos Bidimensionais
Mltiplos Grficos na Mesma Figura
No exemplo das 3 senides:
>> subplot(2,2,1)
>> plot(t, y1,'b')
>> subplot(2,2,2)
>> plot(t, y2,'g')
>> subplot(2,2,3)
>> plot(t, y3,'r')

Grficos Bidimensionais
Mltiplos Grficos na Mesma Figura

Grficos Bidimensionais
Visualizando e Editando as Propriedades
de uma Figura
funes get(gcf)/set(gcf)
gcf = Get handle to Current Figure

get(gcf): lista as propriedades da figura atual


3

Grficos Bidimensionais
>> get(gcf)
Alphamap = [ (1 by 64) double array]
BackingStore = on
CloseRequestFcn = closereq
Color = [1 1 1]
Colormap = [ (64 by 3) double array]
CurrentAxes = [101.001]
CurrentCharacter = g
CurrentObject = []
CurrentPoint = [0 0]
Dithermap = [ (64 by 3) double array]
DithermapMode = manual
DoubleBuffer = off
FileName =
FixedColors = [ (10 by 3) double array]
IntegerHandle = on
InvertHardcopy = on

Grficos Bidimensionais
>> get(gcf)
KeyPressFcn =
MenuBar = figure
MinColormap = [64]
Name =
NextPlot = add
NumberTitle = on
PaperUnits = inches
PaperOrientation = portrait
PaperPosition = [0.25 2.5 8 6]
PaperPositionMode = manual
PaperSize = [8.5 11]
PaperType = usletter
Pointer = arrow
PointerShapeCData = [ (16 by 16) double array]
PointerShapeHotSpot = [1 1]
Position = [120 90 560 420]

Grficos Bidimensionais
>> get(gcf)
Renderer = painters
RendererMode = auto
Resize = on
ResizeFcn = legend('ResizeLegend')
SelectionType = normal
ShareColors = on
Units = pixels
WindowButtonDownFcn =
WindowButtonMotionFcn =
WindowButtonUpFcn =
WindowStyle = normal
BeingDeleted = off
ButtonDownFcn =
Children = [ (2 by 1) double array]
Clipping = on
CreateFcn =

Grficos Bidimensionais
Visualizando e Editando as Propriedades
de uma Figura

Grficos Bidimensionais
>> get(gcf)
DeleteFcn =
BusyAction = queue
HandleVisibility = on
HitTest = on
Interruptible = on
Parent = [0]
Selected = off
SelectionHighlight = on
Tag =
Type = figure
UIContextMenu = []
UserData = []
Visible = on

Grficos Bidimensionais
Ex: set(gcf, 'color', 'w')

set(gcf, propriedade, valor): redefine a


propriedade usando o valor
Ex: set(gcf, 'color', 'w')

Grficos Bidimensionais
Visualizando e Editando as Propriedades
de um Grfico
funes get(gca)/set(gca)
gca = Get handle to Current Axis

get(gca): lista as propriedades do grfico


atual
No caso de usar subplot, lista as
propriedades do grfico corrente, ou daquele
onde se tiver clicado o mouse por ltimo

Grficos Bidimensionais
>> get(gca)

DataAspectRatio = [1 2 2]
ALim = [0 1]
DataAspectRatioMode = auto
ALimMode = auto
DrawMode = normal
AmbientLightColor = [1 1 1]
FontAngle = normal
Box = on
FontName = Helvetica
CameraPosition = [0.5 0 17.3205]
FontSize = [10]
CameraPositionMode = auto
FontUnits = points
CameraTarget = [0.5 0 0]
FontWeight = normal
CameraTargetMode = auto
GridLineStyle = :
CameraUpVector = [0 1 0]
Layer = bottom
CameraUpVectorMode = auto
LineStyleOrder = CameraViewAngle = [6.60861]
LineWidth = [0.5]
CameraViewAngleMode = auto
MinorGridLineStyle = :
CLim = [0 1]
NextPlot = replace
CLimMode = auto
PlotBoxAspectRatio = [1 1 1]
Color = [1 1 1]
CurrentPoint = [ (2 by 3) double array] PlotBoxAspectRatioMode = auto
ColorOrder = [ (7 by 3) double array] Projection = orthographic

Grficos Bidimensionais
>> get(gca)

Position = [0.13 0.11 0.775 0.815]


TickLength = [0.01 0.025]
TickDir = in
TickDirMode = auto
Title = [106]
Units = normalized
View = [0 90]
XColor = [0 0 0]
XDir = normal
XGrid = off
XLabel = [104]
XAxisLocation = bottom
XLim = [0 1]
XLimMode = auto
XMinorGrid = off
XMinorTick = off
XScale = linear

XTick = [ (1 by 11) double array]


XTickLabel = [ (11 by 3) char array]
XTickLabelMode = auto
XTickMode = auto
YColor = [0 0 0]
YDir = normal
YGrid = off
YLabel = [105]
YAxisLocation = left
YLim = [-1 1]
YLimMode = auto
YMinorGrid = off
YMinorTick = off
YScale = linear
YTick = [ (1 by 11) double array]
YTickLabel = [ (11 by 4) char array]
YTickLabelMode = auto
YTickMode = auto

Grficos Bidimensionais

Grficos Bidimensionais
>> get(gca)

ZColor = [0 0 0]
ZDir = normal
ZGrid = off
ZLabel = [116]
ZLim = [-1 1]
ZLimMode = auto
ZMinorGrid = off
ZMinorTick = off
ZScale = linear
ZTick = [-1 0 1]
ZTickLabel =
ZTickLabelMode = auto
ZTickMode = auto

BeingDeleted = off
ButtonDownFcn =
Children = [ (3 by 1) double array]
Clipping = on
CreateFcn =
DeleteFcn =
BusyAction = queue
HandleVisibility = on
HitTest = on
Interruptible = on
Parent = [1]
Selected = off
SelectionHighlight = on
Tag =
Type = axes
UIContextMenu = []
UserData = []
Visible = on

Grficos Bidimensionais

Visualizando e Editando as Propriedades


de um Grfico
set(gca, propriedade, valor): redefine a
propriedade usando o valor
Ex:
>> set(gca, 'color', 'c')
>> set(gca, 'fontsize', 20)
>> set(gca, 'linewidth', 4)
>> set(gca, 'xtick', [0:0.2:1])
>> set(gca, 'ytick', [-1 0 1])

Grficos Bidimensionais

Grficos Bidimensionais
Como engrossar as Linhas do Grfico?
As funes grficas retornam um handle
para o grfico
As funes get(.) e set(.) na verdade operam
sobre handles
As funes gcf e gca retornam os handles
correspondentes figura e ao grfico
As propriedades so similares s obtidas
para gcf e gca

Grficos Bidimensionais
Como engrossar as Linhas do Grfico?
Ex:
>> h1 = plot(t,y1,'b');
>> hold on
>> set(h1,'linewidth', 1)
>> h2 = plot(t,y2,'g');
>> set(h2,'linewidth', 2)
>> h3 = plot(t,y3,'r');
>> set(h3,'linewidth', 3)
>> legend('f=1 Hz', 'f=2 Hz', 'f=5 Hz')

Grficos Bidimensionais
Grfico de Nmeros Complexos
plot(c)
Se c um nmero complexo, ou um vetor de
nmeros complexos, a funo acima plota
automaticamente no plano complexo
Eixo X: parte Real de c
Eixo Y: parte Imaginria de c

Grficos Bidimensionais
Grfico de Nmeros Complexos
Exemplo: Seqncia Exponencial Complexa

Grficos Bidimensionais
Como engrossar as Linhas do Grfico?

Grficos Bidimensionais
Grfico de Nmeros Complexos
Exemplo: Seqncia Exponencial Complexa
Freqncia Angular 0 = /3

x[n ] = e jn 3
>>
>>
>>
>>
>>
>>

n = 0:12;
x = exp(j*n*pi/3);
h = plot(x,'.');
set(h, 'markersize', 20)
xlabel('Re(x[n])'), ylabel('Im(x[n])')
axis square

Grficos Bidimensionais
Funo plotyy
Grfico com dois eixos verticais, esquerda
e direita
Sintaxe: plotyy(x1, y1, x2, y2)
til para mostrar, no mesmo grfico, curvas
com domnios similares, mas imagens muito
discrepantes

10

Grficos Bidimensionais
Funo plotyy
Exemplo: mdulo e fase de resposta em freqncia
de um filtro de mdia mvel de ordem 3
>>
>>
>>
>>
>>
>>
>>

[H,f] = freqz(ones(1,3)/3, 1, 512);


modH = abs(H);
phaH = unwrap(phase(H))/pi;
[ax,h1,h2] = plotyy(f/pi, modH, f/pi, phaH);
xlabel('\theta/\pi')
ylabel('|H(e j\theta)|')

set(get(ax(2),'ylabel'),'string','\phi(\theta)/\p
i')
>> title('Mdulo e Fase do FMM #3')

Grficos Bidimensionais
Escalas logartmicas
Exemplo: Funo de Transferncia do Filtro
Passa Baixa RC (Contnuo)

H(f )=

1
(1 + jf )

: tempo de resposta (=RC)


= 1/fc

Grficos Bidimensionais
Escalas logartmicas

Grficos Bidimensionais
Escalas logartmicas
semilogx(x,y): eixo X em escala logartmica,
eixo Y normal
semilogy(x,y): eixo Y em escala logartmica,
eixo X normal
loglog(x,y): ambos os eixos em escala
logartmica

Grficos Bidimensionais
Escalas logartmicas
Exemplo: Funo de Transferncia RC
>>
>>
>>
>>
>>
>>
>>
>>

f = 1:10000;
tau = 0.1;
H = 1./(j*f*tau+1);
h = plot(f, abs(H));
set(h, 'linewidth',2)
xlabel('f(Hz)')
ylabel('|H(f)|')
grid

Grficos Bidimensionais
Escalas logartmicas
Exemplo: Funo de Transferncia RC
>>
>>
>>
>>
>>
>>
>>
>>

f = 1:10000;
tau = 0.1;
H = 1./(j*f*tau+1);
h = semilogx(f, abs(H));
set(h, 'linewidth',2)
xlabel('f(Hz)')
ylabel('|H(f)|')
grid

11

Grficos Bidimensionais
Escalas logartmicas

Grficos Bidimensionais
Escalas logartmicas
Exemplo: Funo de Transferncia RC
>>
>>
>>
>>
>>
>>
>>
>>

Grficos Bidimensionais
Escalas logartmicas

f = 1:10000;
tau = 0.1;
H = 1./(j*f*tau+1);
h = semilogy(f, abs(H));
set(h, 'linewidth',2)
xlabel('f(Hz)')
ylabel('|H(f)|')
grid

Grficos Bidimensionais
Escalas logartmicas
Exemplo: Funo de Transferncia RC
>>
>>
>>
>>
>>
>>
>>
>>

Grficos Bidimensionais
Escalas logartmicas

f = 1:10000;
tau = 0.1;
H = 1./(j*f*tau+1);
h = loglog(f, abs(H));
set(h, 'linewidth',2)
xlabel('f(Hz)')
ylabel('|H(f)|')
grid

Grficos Bidimensionais
Coordenadas Polares
polar(theta,rho):
h = polar(pi/6, 1,'.')
set(h, 'markersize', 20)

12

Grficos Bidimensionais
Coordenadas Polares
polar(theta,rho):
h = polar(pi/3, 1,'.')
set(h, 'markersize', 20)

Grficos Bidimensionais
Coordenadas Polares

Grficos Bidimensionais
Coordenadas Polares
polar(theta,rho):
Exemplo: Seqncia Exponencial Complexa
>>
>>
>>
>>
>>

n = 0:12;
x = exp(j*n*pi/3);
h = polar(phase(x), abs(x) ,'.');
set(h, 'markersize', 20)
xlabel('Re(x[n])'), ylabel('Im(x[n])')

Grficos Bidimensionais
Grfico de Seqncia
stem(x): j visto anteriormente!

Grficos Bidimensionais
Grfico de Barras
bar(x,Y,width):
x: vetor de N elementos
Y: matriz de M linhas x N colunas
width: largura das barras
Default = 0.8
>1: barras superpostas

bar(Y,width): usa o default x=1:M


bar(...,'stacked'): barras empilhadas
bar(...,'grouped'): barras agrupadas (default)

Grficos Bidimensionais
Grfico de Barras
Exemplo:
subplot(3,1,1)
bar(rand(10,5),'stacked')
subplot(3,1,2)
bar(0:.25:1,rand(5),1)
subplot(3,1,3)
bar(rand(2,3),.75,'grouped')

13

Grficos Bidimensionais
Grfico de Barras

Grficos Bidimensionais
Grfico com Barras de Erro
errorbar(x,y,l,u): similar funo plot, mas
acrescenta barras de erro a cada ponto
l e u: vetores de mesma dimenso de x
l: comprimento da barra de erro inferior
u: comprimento da barra de erro superior

Cada barra de erro n:


Comprimento total l[n] + u[n]

errorbar(x,y,e): barras de erro de igual


comprimento, inferior e superior

Grficos Bidimensionais
Grfico com Barras de Erro

Grficos Bidimensionais
Grfico com Barras de Erro

Exemplo:
>> x = 1:10;
>> y = sin(x);
>> e = std(y)*ones(size(x));
>> errorbar(x,y,e)
>> set(gcf, 'color', 'w')

Visualizao Cientfica
Grficos Bidimensionais
Grficos Tridimensionais

plot3
contour, contour3
quiver
mesh, surf
pcolor, image

Grficos Tridimensionais
Funo plot3: anloga em 3D da plot
Sejam x e y vetores de mesmo comprimento
plot(x,y,z): curva em trs dimenses passando
pelos pontos (x, y, z)

Exemplo: Hlice
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t);
>> xlabel('x'),ylabel('y'),zlabel('z')
>> title('Helice')

14

Grficos Tridimensionais

Grficos Tridimensionais

Funo plot3: anloga em 3D da plot

Funo plot3: anloga em 3D da plot


Sejam x e y vetores de mesmo comprimento
plot(x,y,z): curva em trs dimenses passando
pelos pontos (x, y, z)

Exemplo: Hlice
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t, '.');
>> xlabel('x'),ylabel('y'),zlabel('z')
>> title('Helice')

Grficos Tridimensionais

Grficos Tridimensionais

Funo plot3: anloga em 3D da plot

Srie de funes que servem para o


mesmo tipo de dados:

Grficos Tridimensionais

contour
contour3
mesh
surf
pcolor
quiver

Grficos Tridimensionais

Exemplo Ilustrativo para as Funes 3D:

Exemplo Ilustrativo para as Funes 3D:

Campo Magntico de um Dipolo Magntico


Lei de Biot-Savart:

Campo Magntico de um Dipolo Magntico


Lei de Biot-Savart:

r r r r 2
r r 3(m
r
r
r
r )r mr
B(r ) =
= Bx (r ), B y (r ), Bz (r )
r5
r
r = ( x, y, z ) Posio de medio do campo
r
magntico na origem,
m = (1,0,0 ) Dipolo
na direo do eixo X

r r r r 2
r r 3(m
r
r
r
r )r mr
= Bx (r ), B y (r ), Bz (r )
B(r ) =
r5
r
r r
r = ( x, y , z )
mr = x
r
m = (1,0,0 )
r = x2 + y2 + z 2

15

Grficos Tridimensionais
Exemplo Ilustrativo para as Funes 3D:
Campo Magntico de um Dipolo Magntico
Lei de Biot-Savart:

Bx ( x, y , z ) =

3x 2 r 2
r5

3 xy
B y ( x, y , z ) = 5
r

r = x2 + y2 + z 2

3 xz
Bz ( x, y , z ) = 5
r

Grficos Tridimensionais
Campo Magntico de um Dipolo Magntico
Clculo em uma reta paralela ao dipolo, a uma
distncia z = 1
>>
>>
>>
>>
>>
>>
>>
>>

Grficos Tridimensionais
Campo Magntico de um Dipolo Magntico
Definio no Matlab

function [Bx,By,Bz] = campodip(x,y,z)


r = sqrt(x.^2+y.^2+z.^2);
Bx = (3*x.^2-r.^2)./(r.^5);
By = (3*x.*y)./(r.^5);
Bz = (3*x.*z)./(r.^5);

Grficos Tridimensionais
Campo Magntico de um Dipolo Magntico

x = -10:0.1:10;
y = 0;
z = 1;
[Bx,By,Bz] = campodip(x,y,z);
plot(x, Bx, x, By, x, Bz)
set(gcf, 'color', 'w')
xlabel('x'), ylabel('Campo Magnetico')
legend('Bx', 'By', 'Bz')

Grficos Tridimensionais
Campo Magntico de um Dipolo Magntico
E como calcular em um plano paralelo ao dipolo,
a uma distncia z = 1??
Funo meshgrid: calcula o produto
Cartesiano de dois vetores, gerando duas
matrizes
[X,Y] = meshgrid(x,y);

Grficos Tridimensionais
Campo Magntico de um Dipolo Magntico
>>
>>
>>
>>
>>
>>

x = -3:0.1:3;
y = -3:0.1:3;
[X,Y] = meshgrid(x,y);
z = 1;
[Bx,By,Bz] = campodip(X,Y,z);
Name
Size
Bytes
whos
Bx
By
Bz
X
Y
x
y
z

201x201
201x201
201x201
201x201
201x201
1x201
1x201
1x1

Class

323208 double array


323208 double array
323208 double array
323208 double array
323208 double array
1608 double array
1608 double array
8 double array

16

Grficos Tridimensionais
Funo contour:
Traa curvas de nvel
contour(X,Y,Z): traa curvas de nvel da funo
Z = f(X,Y), para valores de Z definidos
automaticamente
contour(X,Y,Z,N): traa N curvas de nvel
contour(X,Y,Z,v): traa curvas de nvel para os
valores de Z definidos no vetor v
contour(X,Y,Z,[v v]): traa uma nica curva de
nvel para o valor Z=v

Grficos Tridimensionais

Grficos Tridimensionais
Funo contour:
>> contour(X,Y,Bx,10)
>> xlabel('x')
>> ylabel('y')

Grficos Tridimensionais

Funo contour:

Funo contour:

>> contour(X,Y,By,10)
>> xlabel('x')
>> ylabel('y')

>> contour(X,Y,Bz,10)
>> xlabel('x')
>> ylabel('y')

Grficos Tridimensionais
Funo contour3:
Similar funo contour
Traa Curvas de Nvel
Cada curva de nvel traada em
sua altura correspondente

Grficos Tridimensionais
Funo contour:
>>
>>
>>
>>

contour3(X,Y,Bx,10)
xlabel('x')
ylabel('y')
zlabel('Bx')

17

Grficos Tridimensionais

Grficos Tridimensionais

Funo contour:

Funo contour:

>>
>>
>>
>>

>>
>>
>>
>>

contour3(X,Y,By,10)
xlabel('x')
ylabel('y')
zlabel('By')

Grficos Tridimensionais

contour3(X,Y,Bz,10)
xlabel('x')
ylabel('y')
zlabel('Bz')

Grficos Tridimensionais

Funo mesh:

Funo mesh:

>>
>>
>>
>>

>>
>>
>>
>>

mesh(X,Y,Bx)
xlabel('x')
ylabel('y')
zlabel('Bx')

Grficos Tridimensionais
Funo mesh:
>>
>>
>>
>>

mesh(X,Y,Bz)
xlabel('x')
ylabel('y')
zlabel('Bz')

mesh(X,Y,By)
xlabel('x')
ylabel('y')
zlabel('By')

Grficos Tridimensionais
Funo surf:
Praticamente idntica funo mesh
A diferena que a mesh traa linhas, e a
surf traa superfcies

18

Grficos Tridimensionais

Grficos Tridimensionais

Funo surf:

Funo surf:

>>
>>
>>
>>

>>
>>
>>
>>

surf(X,Y,Bx)
xlabel('x')
ylabel('y')
zlabel('Bx')

Grficos Tridimensionais
Funo surf:
>>
>>
>>
>>

surf(X,Y,By)
xlabel('x')
ylabel('y')
zlabel('By')

Grficos Tridimensionais
Funo pcolor(X,Y,Z):
Imagem bidimensional de um grfico
tridimensional
Equivalente a observar o surf por cima
usada normalmente em combinao com
3 outras funes:

surf(X,Y,Bz)
xlabel('x')
ylabel('y')
zlabel('Bz')

shading flat/interp/faceted: tipo de interpolao


colormap: mapa de cores utilizado
colorbar: desenha escala de cores (jet, hot, hsv,
gray, pink, cool, bone, copper, flag)

Grficos Tridimensionais

Grficos Tridimensionais

Funo pcolor:

Funo pcolor:

>>
>>
>>
>>
>>

>>
>>
>>
>>
>>

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(hot)
shading faceted

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(hot)
shading flat

19

Grficos Tridimensionais

Grficos Tridimensionais

Funo pcolor:

Funo pcolor:

>>
>>
>>
>>
>>

>>
>>
>>
>>
>>

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(hot)
shading interp

Grficos Tridimensionais

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(jet)
shading interp

Grficos Tridimensionais

Funo pcolor:

Funo pcolor:

>>
>>
>>
>>
>>

>>pcolor(X,Y,Bz)
>>xlabel('x')
>>ylabel('y')
>>colormap(gray(16))
>>shading interp

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(gray)
shading interp

Grficos Tridimensionais
Funo pcolor:
>>
>>
>>
>>
>>
>>

pcolor(X,Y,Bz)
xlabel('x')
ylabel('y')
colormap(jet)
shading interp
colorbar

Grficos Tridimensionais
Funo quiver:
Traa campos vetoriais
Sintaxe: quiver(X,Y,U,V)
X,Y: matrizes de coordenadas (idnticas s da
funo pcolor)
U,V: matrizes contendo as componentes dos
vetores na direes X e Y, respectivamente

20

Grficos Tridimensionais
Funo quiver:
>>
>>
>>
>>
>>

Grficos Tridimensionais
Funo quiver:

x = -3:0.3:3;
y = -3:0.3:3;
[X,Y] = meshgrid(x,y);
z = 1;
[Bx,By,Bz] = campodip(X,Y,z);

>> quiver(X,Y,Bx,By)
>> xlabel('x')
>> ylabel('y')

Grficos Tridimensionais
Funo quiver:
>>
>>
>>
>>
>>

Grficos Tridimensionais
Funo quiver:

x = -3:0.3:3;
y = -3:0.3:3;
[X,Y] = meshgrid(x,y);
z = 1;
[Bx,By,Bz] = campodip(X,Y,z);

>> quiver(X,Y,Bx,By,2) Fator de escala


>> xlabel('x')
>> ylabel('y')

Grficos Tridimensionais

Grficos Tridimensionais

Funo quiver+contour:

Funo quiver+contour:

>>
>>
>>
>>
>>
>>

>>
>>
>>
>>
>>
>>

contour(X,Y,Bx,20,'c')
hold on
quiver(X,Y,Bx,By)
hold off
xlabel('x')
ylabel('y')

contour(X,Y,By,20,'c')
hold on
quiver(X,Y,Bx,By)
hold off
xlabel('x')
ylabel('y')

21

Grficos Tridimensionais

Grficos Tridimensionais

Funo quiver+pcolor:

Funo quiver+pcolor:

>>
>>
>>
>>
>>
>>
>>
>>

>>
>>
>>
>>
>>
>>
>>
>>

pcolor(X,Y,Bx)
colormap(jet)
shading interp
hold on
quiver(X,Y,Bx,By)
hold off
xlabel('x')
ylabel('y')

pcolor(X,Y,By)
colormap(jet)
shading interp
hold on
quiver(X,Y,Bx,By)
hold off
xlabel('x')
ylabel('y')

22

Você também pode gostar