Kompleksilukujen käsittely

Ruby:
Kompleksilukujen käsittely

Miten:

Ruby tekee kompleksilukujen käsittelystä tuulen. Voit luoda ja manipuloida niitä Complex-luokan avulla:

require 'complex'

# Luo kompleksilukuja
c1 = Complex(3, 4)
c2 = Complex('2+5i')

# Perusoperaatiot
summa = c1 + c2               # => (5.0+9.0i)
ero = c1 - c2                 # => (1.0-1.0i)
tulo = c1 * c2                # => (-14.0+23.0i)
osamäärä = c1 / c2            # => (0.896551724137931+0.03448275862068961i)

# Konjugaatti, magnitudi ja vaihe
konjugaatti = c1.conjugate    # => (3.0-4.0i)
magnitudi = c1.abs            # => 5.0
vaihe = c1.phase              # Math.atan2(4, 3) => 0.9272952180016122 radiaania

# Kompleksilukuihin erikoistuneet metodit
polaarinen = c1.polar         # => [5.0, 0.9272952180016122]
suorakulmainen = c1.rect      # => [3.0, 4.0]

Syväsukellus

Kompleksiluvut eivät ole uusia – niitä on ollut jo 1500-luvulta lähtien ratkaisemassa yhtälöitä, joilla ei ole reaalilukuratkaisuja. Matematiikan ohella, laskennallisesti Ruby:n Complex-luokka tekee raskaan työn, jota Math-moduuli tukee trigonometrisillä ja transsendenttisilla funktioilla.

Aikaisemmissa ohjelmointikielissä reaali- ja imaginaariosien käsittely vaati manuaalista työtä. Jotkut, kuten Fortran ja C++, omistavat erityisiä kirjastoja kompleksiaritmetiikalle.

Rubyn lähestymistapa sisältää kompleksilukujen tuen sen syntaksissa, vapauttaen sinut keksimästä pyörää uudelleen. Taustalla Complex-luokka käsittelee matematiikan, kun taas Ruby huolehtii objektivuorovaikutuksista.

Katso Myös