Kurzusok
/
Scala
Scala
/
Feladatok
/
Komplex számok
Komplex számok

Komplex számok

Közepes

Utasítások

A komplex szám z = a + b * i alakban írható fel, ahol:

  • a a valós rész (egy valós szám),

  • b a képzetes rész (szintén egy valós szám), és

  • i a képzetes egység, amelyre i^2 = -1 teljesül.

Műveletek komplex számokkal

Konjugált

A z = a + b * i komplex szám konjugáltja:

zc = a - b * i

Abszolút érték

A z abszolút értéke (vagy modulusa):

|z| = sqrt(a^2 + b^2)

Az abszolút érték négyzetét z és zc konjugáltjának szorzataként számítjuk ki:

|z|^2 = z * zc = a^2 + b^2

Összeadás

Két komplex szám, z1 = a + b * i és z2 = c + d * i összegét úgy számítjuk ki, hogy külön-külön összeadjuk a valós és a képzetes részüket:

z1 + z2 = (a + b * i) + (c + d * i)
        = (a + c) + (b + d) * i

Kivonás

Két komplex szám különbségét úgy kapjuk meg, hogy kivonjuk egymásból a megfelelő részeiket:

z1 - z2 = (a + b * i) - (c + d * i)
        = (a - c) + (b - d) * i

Szorzás

Két komplex szám szorzata:

z1 * z2 = (a + b * i) * (c + d * i)
        = (a * c - b * d) + (b * c + a * d) * i

Reciprok

Egy nem nulla komplex szám reciproka:

1 / z = 1 / (a + b * i)
      = a / (a^2 + b^2) - b / (a^2 + b^2) * i

Osztás

Egy komplex szám osztása egy másikkal:

z1 / z2 = z1 * (1 / z2)
        = (a + b * i) / (c + d * i)
        = (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i

Hatványozás

Az e (a természetes logaritmus alapszáma) komplex hatványra emelése az Euler-formulával fejezhető ki:

e^(a + b * i) = e^a * e^(b * i)
              = e^a * (cos(b) + i * sin(b))

Megvalósítási követelmények

Mivel nem használhatod a komplex számok beépített támogatását, valósítsd meg a következő műveleteket:

  • két komplex szám összeadása
  • két komplex szám kivonása
  • két komplex szám szorzása
  • két komplex szám osztása
  • egy komplex szám konjugáltja
  • egy komplex szám abszolút értéke
  • e (a természetes logaritmus alapszáma) hatványozása komplex számra

Forrás

WikipediaA hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Scala Exercism

Készen állsz elkezdeni a(z) Komplex számok feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Scala nyelvet 95 feladat segítségével, valódi emberi mentorálással, mindez ingyen.