Elixir:
Kompleksilukujen käsittely
Kuinka:
Elixir ei sisällä valmiina kompleksilukuja, joten luomme omamme tai käytämme kirjastoa, kuten ComplexNum
. Tässä on nopea esimerkki kirjaston kanssa:
# Olettaen, että sinulla on ComplexNum asennettuna
defmodule ComplexMath do
import ComplexNum
def add(a, b) do
ComplexNum.add(a, b)
end
end
# Luodaan kompleksiluvut ja lisätään ne yhteen
c1 = {3, 4} # edustaa 3 + 4i
c2 = {2, -3} # edustaa 2 - 3i
tulos = ComplexMath.add(c1, c2)
IO.puts "Tulos on: #{inspect(tulos)}"
Tämä tulostaisi:
Tulos on: {5, 1}
Se tarkoittaa, että 3 + 4i
ja 2 - 3i
summa on 5 + 1i
.
Syväsukellus
Kompleksiluvut tulivat historiaan, koska tavalliset vanhat luvut eivät pystyneet käsittelemään negatiivisten lukujen neliöjuuria. Vasta 17. vuosisadalla niitä alettiin ottaa vakavasti kiitos matemaatikkojen, kuten René Descartesin ja Gerolamo Cardanon.
Elixirissä käytetään usein tupleja, kuten {3, 4}
, kompleksilukujen esittämiseen, tai käytetään omistautunutta kirjastoa, jotta ei tarvitse keksiä pyörää uudestaan. Kirjastot ovat yleensä parempia – ne käsittelevät hankalia yksityiskohtia, kuten kertolaskua ja jakolaskua, jotka muuttuvat hankaliksi imaginääriyksikön ‘i’ takia (FYI: i
toiseen on -1
).
Katso Myös
Tutustu näihin resursseihin:
- ComplexNum-kirjasto Elixiriin Hex-paketinhallinnassa.
- Elixir School, edistyneisiin Elixir-aiheisiin ja harjoituksiin.
- Erlang – math-moduuli, jota Elixir käyttää taustalla, muihin matemaattisiin tarpeisiin.