Você está na página 1de 7

1.1: Um nico grfico pode ser ocupado por mais de uma curva.

Considere um par de conjuntos


de dados (x1,y1) e (x2,y2). Ambos podem ser traados utilizando-se o comando plot(x1,y1,x2,y2).
Trace sen e cos versus (em graus) de 0 a 720 graus.
Organizao: Uma rotina muito bsica e simples que pode ser utilizada na janela de comando
ou como um arquivo .m :
a=0:10:720;
A=sind(a);
B=cosd(a);
plot(a,A,a,B)
Porm, uma rotina melhor incluiria comentrios e mais cuidado em relao ao grfico gerado
(isto , nomear os eixos, uso de legenda, etc.)
Soluo:
%
%
%
%
%
%
%
%
%
%

Uma rotina mais detalhada e fcil de ser seguida est indicada a seguir:

MLP0101
Traa o grfico de sin(a) & cos(a) para 0 < a < 720 graus
11/1/06 Wentworth
Variveis
a
ngulo em graus
A
sind(a), aceita argumento em graus
B
cosd(a)

clc;clear;
%
clculo
a=0:10:720; %utiliza um passo de 10 graus
A=sind(a);
B=cosd(a);
%
gera o grfico
plot(a,A,'-k',a,B,'--b')
legend('sen(a)','cos(a)')
grid on
xlabel('ngulo a(graus)')
ylabel('y')
title('Problema 1.1')
veja a Figura P0101

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

Problema 1.1
1
sen(a)
cos(a)

0,8
0,6
0,4

0,2
0
-0,2
-0,4
-0,6
-0,8
-1

100

200

300
400
500
ngulo a(graus)

600

700

800

Figura P0101

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

1.3: Crie uma funo para converter graus em radianos, considerando que haja 2 radianos em
360.
Organizao: O modo de se montar uma funo foi descrito ao final da Seo 1.5.
Soluo:

A seguir indica-se uma forma de se escrever a funo:

function y = deg2rad(x)
%
Converte um argumento x, em radianos, para o seu valor
equivalente %
em graus. A rotina utiliza .* e ./ de modo que x %
pode ser um conjunto de valores em graus.
y=x.*180./pi;
Podemos demonstrar a rotina executando-a com um conjunto de 8 ngulos. Aps digitar e salvar
a funo deg2rad a partir do editor de arquivo .m, estabelea um conjunto de 8 ngulos digitando
a seguinte linha na janela de comando:
>> x=0:pi/4:2*pi;
Agora, para executar a funo, digite:
>> y=deg2rad(x)
A linha de comando deve ento retornar:
y=0

45

90

135

180

225

270

315

360

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

1.5: Um campo magntico a 10,0 MHz se propaga em um fluido para o qual a velocidade de
propagao 1,0x108 m/s. Inicialmente, temos H(z = 0, t = 0)=2,0 A/m. A amplitude se reduz
para 1,0 A/m aps a onda se propagar 5,0 m na direo z. Determine a expresso geral para essa
onda.
Organizao: A partir da equao (1.7), a forma geral da soluo para um campo magntico se
propagando na direo z :
H ( z, t )

Soluo:
A/m:

H o e D z cos Zt  E z  I A

Podemos calcular a expresso do campo em z = 0 e t = 0 e, sabendo que H(0,0) = 2

H (z

0, t

0)

H o e D (0) cos Z (0)  E (0)  I A

H o cos I

2A

Portanto, temos Ho = 2 A/m e = 0.


Alm disso, para f = 10 MHz , temos = 2f = 20 x 106 rad/s.
Finalmente, sabemos que

A
m

A D 5 m
,
e
m

Assim, e

D 5 m

1
,
2

 5D

ln(0,5), D

ln(0,5)
5

0,139

Np
m

Ou = 0,14 Np/m com dois algarismos significativos. Logo, obtemos

H(z,t) = 2,0e-0,14z cos(20Sx106t 0,20Sz) A/m

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

1.7: MATLAB: Modifique o programa de onda viajante no MATLAB 1.5 de modo a incluir a
atenuao. Utilize os parmetros do problema 1.6, exceto claro, o tempo fixo.
Organizao: A nica modificao que temos que fazer no MATLAB 1.5 substituir A0 por A0
e-z. Na rotina, podemos representar a constante de atenuao por alpha.
Soluo:
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

Arquivo .m: MLP0107


Esse programa modifica o ML0105, ilustrando uma
onda viajante que atenua.
Wentworth, 13/12/04
Variveis:
Ao
alpha
f
omega
t
phi
phir
c
lambda
B
A
z
N

clc
clear

amplitude inicial da onda


constante de atenuao (Np/m)
freqncia (Hz)
freqncia angular (rad/s)
instante de tempo (s)
constante de fase (graus)
constante de fase (radianos)
velocidade da luz no vcuo (m/s)
comprimento de onda (m)
constante de fase (1/m)
a funo A(z,t)
posio
nmero de interaes de tempo para a animao
%limpa o 'command window'
%anula as variveis

%
Inicializao das variveis
Ao=4;
alpha=0.001;
f=1e6;
t=1;
phi=0;
phir=phi*pi/180;
c=2.998e8;
lambda=c/f;
B=2*pi/lambda;
omega=2*pi*f;

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

N=40;
%
Realizao dos clculos
z=0:4*lambda/100:4*lambda;
A=Ao.*exp(-alpha.*z).*cos(omega*t-B*z+phir);
%
Gerao do quadro de referncia
plot(z,A)
axis([0 4*lambda -2*Ao 2*Ao])
grid
xlabel('z(m)')
ylabel('A(z,t)')
pause
%

Gerao da animao

t=0:1/(N*f):4/f;
for n=1:4*N;
%
A=Ao*cos(omega*t(n)-B*z+phir);
A=Ao.*exp(-alpha.*z).*cos(omega*t(n)-B*z+phir);
plot(z,A)
axis([0 4*lambda -2*Ao 2*Ao])
grid
title('Problema 1.7');
xlabel('z(m)');
ylabel('A(z,t)');
M(:,1)=getframe;
end
Observe que a rotina tambm pode ser modificada de modo a mostrar uma animao maior. Veja
a Figura 0107 para um instante de tempo do grfico ao final da animao.

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007

Problema 1.7
8
6
4

A(z,t)

2
0
-2
-4
-6
-8

200

400

600
z(m)

800

1000

Figura P0107 (instante de tempo ao final da animao)

Escrito por Stuart M. Wentworth. Direitos autorais John Wiley and Sons 2007