6.1.24 Usando a aritmética complexa disponível em FORTRAN, escreva um programa para calcular a exponencial complexa e^z a partir de sua expansão de série (definição). Calcule e^z para z= e^i n pi / 6, n=0,1,2, ldots, 12. Tabule o ângulo de fase (theta=n pi / 6), Re z, Im z, Re(e^z), Im(e^z),|e^z| e a fase de e^z.
ll Valor de verificação & n=5, theta=2,61799, Re(z)=-0,86602 & Im z=0,50000, Re(e^z)=0,36913, Im(e^z)=0,20166, & |e^z|=0,42062, fase (e^z)=0,50000 çã

Passo 1

O enunciado pede para calcular a exponencial de um número complexo
e^z por sua expansão em série, usando a aritmética complexa do FORTRAN, para
z = e^i npi/6, n=0,1,2,dots,12,
e tabular para cada n:
  • o ângulo de fase theta = npi/6,
  • Re(z), Im(z),
  • Re(e^z), Im(e^z),
  • o módulo lvert e^zrvert e a fase arg(e^z).
Vamos usar como teoria principal a definição de exponencial complexa e a forma de Euler.

Passo 2

Primeiro escrevemos
thetan = npi6, zn = e^ithetan = costhetan + i,sinthetan
Logo
Re(zn)=costhetan e Im(zn)=sinthetan.

Passo 3

A exponencial complexa satisfaz
e^zn = e^costhetan + isinthetan = e^costhetan,e^,isinthetan = e^costhetanl[cos(sinthetan)+i,sin(sinthetan)r]
Assim:
Re(e^zn) = e^costhetancosl(sinthetanr), Im(e^zn) = e^costhetansinl(sinthetanr),
lvert e^znrvert = e^costhetan, arg(e^zn) = sinthetan

Passo 4

Esboço do programa em FORTRAN (pseudocódigo):
program \(tabula_expz\)
  implicit none
  integer :: n
  real(\(8\)) :: theta, \(re_z\), \(im_z\), \(re_w\), \(im_w\), \(mod_w\), \(arg_w\)
  complex(\(8\)) :: z, w
  do n\(=0,12\)
     theta \(=\) n * acos(-\(1\)d\(0\)) / \(6\)d\(0\)
     z \(=\) cmplx(cos(theta), sin(theta))
     w \(=\) exp(z)
     \(re_w =\) real(w)
     \(im_w =\) aimag(w)
     \(mod_w =\) abs(w)
     \(arg_w =\) atan\(2\)(\(im_w\),\(re_w\))
     print *, n, theta, real(z), aimag(z), \(re_w\), \(im_w\), \(mod_w\), \(arg_w\)
  end do
end program
O FORTRAN usa internamente série para exp(z).

Passo 5

Aplicando as fórmulas dos passos 2 e 3 e calculando numericamente ( 5 casas decimais), obtemos:
n theta Re(z) Im(z) Re(e^z) Im(e^z) lvert e^zrvert arg(e^z)
0 0,00000 1,00000 0,00000 2,71828 0,00000 2,71828 0,00000
1 0,52360 0,86603 0,50000 2,08846 1,14028 2,37744 0,50000
2 1,04720 0,50000 0,86603 1,06804 1,25643 1,64872 0,86603
3 1,57080 0,00000 1,00000 0,54030 0,84147 1,00000 1,00000
4 2,09440 -0,50000 0,86603 0,39306 0,46246 0,60653 0,86603
5 2,61799 -0,86603 0,50000 0,36913 0,20166 0,42062 0,50000
6 3,14159 -1,00000 0,00000 0,36788 0,00000 0,36788 0,00000
7 3,66519 -0,86603 -0,50000 0,36913 -0,20166 0,42062 -0,50000
8 4,18879 -0,50000 -0,86603 0,39306 -0,46246 0,60653 -0,86603
9 4,71239 0,00000 -1,00000 0,54030 -0,84147 1,00000 -1,00000
10 5,23599 0,50000 -0,86603 1,06804 -1,25643 1,64872 -0,86603
11 5,75959 0,86603 -0,50000 2,08846 -1,14028 2,37744 -0,50000
12 6,28319 1,00000 0,00000 2,71828 0,00000 2,71828 0,00000

Resposta

A tabela acima contém para cada n=0,dots,12:
  • theta=npi/6,
  • Re(z)=costheta, Im(z)=sintheta,
  • Re(e^z), Im(e^z),
  • lvert e^zrvert e arg(e^z).
    O valor para n=5 coincide com o de verificação:
    theta=2,61799,Re(z)=-0,86602,Im(z)=0,50000,Re(e^z)=0,36913,Im(e^z)=0,20166,lvert e^zrvert=0,42062,arg(e^z)=0,50000.

Exercícios de Livros Relacionados