Att arbeta med komplexa tal

Elixir:
Att arbeta med komplexa tal

Hur man gör:

Elixir har inte inbyggda komplexa tal, så vi skapar våra egna eller använder ett bibliotek, som ComplexNum. Här är ett snabbt exempel med ett bibliotek:

# Antag att du har installerat ComplexNum
defmodule ComplexMath do
  import ComplexNum

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

# Skapa komplexa tal och addera dem
c1 = {3, 4}   # representerar 3 + 4i
c2 = {2, -3}  # representerar 2 - 3i
result = ComplexMath.add(c1, c2)
IO.puts "Resultatet är: #{inspect(result)}"

Detta skulle ge utskriften:

Resultatet är: {5, 1}

Det betyder att summan av 3 + 4i och 2 - 3i är 5 + 1i.

Djupdykning

Komplexa tal dök upp i historien eftersom vanliga gamla tal inte kunde hantera kvadratrötter av negativa tal. Det var inte förrän på 1600-talet som de togs på allvar, tack vare matematiker som René Descartes och Gerolamo Cardano.

I Elixir använder du ofta tupler som {3, 4} för komplexa tal, eller använder ett dedikerat bibliotek för att undvika att uppfinna hjulet på nytt. Bibliotek är vanligtvis bättre - de hanterar det knepiga som multiplikation och division, som blir komplicerade på grund av den imaginära enheten ‘i’ (FYI: i upphöjt till två är lika med -1).

Se också

Kolla in dessa resurser: