Å jobbe med komplekse tall

Elixir:
Å jobbe med komplekse tall

Hvordan:

Elixir har ikke innebygde komplekse tall, så vi lager våre egne eller bruker et bibliotek, som ComplexNum. Her er et kjapt eksempel med et bibliotek:

# Antatt at du har installert ComplexNum
defmodule ComplexMath do
  import ComplexNum

  def add(a, b) do
    ComplexNum.add(a, b)
  end
end

# Skap komplekse tall og legg dem sammen
c1 = {3, 4}   # representerer 3 + 4i
c2 = {2, -3}  # representerer 2 - 3i
resultat = ComplexMath.add(c1, c2)
IO.puts "Resultatet er: #{inspect(resultat)}"

Dette ville gi utskriften:

Resultatet er: {5, 1}

Det betyr at summen av 3 + 4i og 2 - 3i er 5 + 1i.

Dypdykk

Komplekse tall dukket opp i historien fordi vanlige gamle tall ikke kunne håndtere kvadratrøtter av negative tall. Det var ikke før på 1600-tallet at de ble tatt seriøst, takket være matematikere som René Descartes og Gerolamo Cardano.

I Elixir bruker du ofte tupler som {3, 4} for komplekse tall, eller bruker et dedikert bibliotek for å unngå å finne opp hjulet på nytt. Biblioteker er vanligvis bedre - de håndterer det nitidige som multiplikasjon og divisjon, som blir komplisert på grunn av den imaginære enheten ‘i’ (BTW: i i andre er lik -1).

Se også

Sjekk ut disse ressursene: