Kurzusok
/
Haskell
Haskell
/
Feladatok
/
Komplex számok
Komplex számok

Komplex számok

Könnyű

Utasítások

A komplex szám olyan szám, amely felírható a + b * i alakban, ahol a és b valós szám, és az i-re teljesül, hogy i^2 = -1.

Az a-t a z valós részének, a b-t pedig a z képzetes részének nevezzük. Az a + b * i szám konjugáltja az a - b * i szám. Egy z = a + b * i komplex szám abszolútértéke egy valós szám: |z| = sqrt(a^2 + b^2). Az |z|^2 abszolútérték-négyzet z és komplex konjugáltjának szorzata.

Két komplex szám összegénél/különbségénél a valós és a képzetes részt külön-külön adjuk össze, illetve vonjuk ki: (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

A szorzás eredménye definíció szerint (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

Egy nem nulla komplex szám reciproka 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Ha az a + i * b komplex számot elosztjuk a c + i * d számmal, ezt kapjuk: (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Ha az e-t komplex kitevőre emeljük, az felírható így: e^(a + i * b) = e^a * e^(i * b), amelynek utolsó tagját az Euler-formula adja meg: e^(i * b) = cos(b) + i * sin(b).

Valósítsd meg a következő műveleteket:

  • két komplex szám összeadása, kivonása, szorzása és osztása,
  • konjugált, abszolútérték, egy adott komplex szám exponenciálisa.

Tételezd fel, hogy a programozási nyelv, amelyet használsz, nem tartalmazza a komplex számok megvalósítását.


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
Haskell Exercism

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

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