Tracks
/
C++
C++
/
Übungen
/
Komplexe Zahlen
Komplexe Zahlen

Komplexe Zahlen

Mittel

Anleitung

Eine komplexe Zahl wird in der Form z = a + b * i ausgedrückt, wobei:

  • a der Realteil ist (eine reelle Zahl),

  • b der Imaginärteil ist (ebenfalls eine reelle Zahl), und

  • i die imaginäre Einheit ist, für die i^2 = -1 gilt.

Operationen mit komplexen Zahlen

Konjugierte

Die Konjugierte der komplexen Zahl z = a + b * i ist gegeben durch:

zc = a - b * i

Betrag

Der Betrag (oder Modul) von z ist definiert als:

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

Das Quadrat des Betrags wird als Produkt von z und seiner Konjugierten zc berechnet:

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

Addition

Die Summe zweier komplexer Zahlen z1 = a + b * i und z2 = c + d * i berechnest du, indem du ihre Real- und Imaginärteile getrennt addierst:

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

Subtraktion

Die Differenz zweier komplexer Zahlen erhältst du, indem du die jeweiligen Teile subtrahierst:

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

Multiplikation

Das Produkt zweier komplexer Zahlen ist definiert als:

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

Kehrwert

Für den Kehrwert einer komplexen Zahl ungleich null gilt:

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

Division

Für die Division einer komplexen Zahl durch eine andere gilt:

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

Potenzierung

Potenziert man e (die Basis des natürlichen Logarithmus) mit einem komplexen Exponenten, lässt sich das mit der eulerschen Formel ausdrücken:

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

Anforderungen an die Implementierung

Da du keine eingebaute Unterstützung für komplexe Zahlen verwenden sollst, implementiere die folgenden Operationen:

  • Addition zweier komplexer Zahlen
  • Subtraktion zweier komplexer Zahlen
  • Multiplikation zweier komplexer Zahlen
  • Division zweier komplexer Zahlen
  • Konjugierte einer komplexen Zahl
  • Betrag einer komplexen Zahl
  • Potenzierung von e (der Basis des natürlichen Logarithmus) mit einer komplexen Zahl

Quelle

WikipediaDer Link öffnet sich in einem neuen Fenster oder Tab
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
C++ Exercism

Bereit, mit Komplexe Zahlen zu starten?

Melde dich bei Exercism an, um C++ mit 19 Konzepte100 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.