Percursos
/
Haskell
Haskell
/
Exercícios
/
Números Complexos
Números Complexos

Números Complexos

Fácil

Instruções

Um número complexo é um número na forma a + b * i, em que a e b são reais e i satisfaz i^2 = -1.

a chama-se parte real e b chama-se parte imaginária de z. O conjugado do número a + b * i é o número a - b * i. O valor absoluto de um número complexo z = a + b * i é um número real |z| = sqrt(a^2 + b^2). O quadrado do valor absoluto |z|^2 é o resultado da multiplicação de z pelo seu conjugado complexo.

A soma e a diferença de dois números complexos obtêm-se somando ou subtraindo as suas partes real e imaginária separadamente: (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

O resultado da multiplicação é, por definição, (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

O inverso de um número complexo não nulo é 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Dividir um número complexo a + i * b por outro c + i * d dá: (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Elevar e a um expoente complexo pode exprimir-se como e^(a + i * b) = e^a * e^(i * b), cujo último termo é dado pela fórmula de Euler e^(i * b) = cos(b) + i * sin(b).

Implementa as seguintes operações:

  • soma, subtração, multiplicação e divisão de dois números complexos,
  • conjugado, valor absoluto e exponencial de um número complexo.

Parte do princípio de que a linguagem de programação que estás a usar não tem uma implementação de números complexos.


Fonte

WikipediaO link abre numa nova janela ou separador
Editar via GitHub A ligação abre numa nova janela ou separador
Haskell Exercism

Estás pronto para começar Números Complexos?

Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.