Komplexe Zahlen auf verschiedene Weise addieren

fusenoepsi

Mitglied
Hallo und zwar habe ich folgende Aufgabenstellungen:

ComplexNumber add(double real, double imaginary): addiert eine zweite komplexe Zahl (real, imaginary) mit der aktuellen und liefert das Ergebnis zurück

ComplexNumber add(ComplexNumber c): addiert eine zweite komplexe Zahl mit der aktuellen und liefert das Ergebnis zurück

Im Grunde wird ja das Gleiche verlangt, nur auf verschiedene Art und Weise:

Mein Ansatz:
Java:
public ComplexNumber add(ComplexNumber c) {
        // H1.1
        
        double r = this.real + c.real;
        double i = this.imaginary + c.imaginary;
        return new ComplexNumber(r, i);
        
    }

jetzt bin ich verwirrt, ob das der passende Code ist für die Aufgabe oder doch zur anderen gehört..
Und außerdem: Hat jemand eine Idee, wie dann der Code lauten müsste?


(Vorgabe:
Java:
public class ComplexNumber {
    /**
     * The real and imaginary part of the complex number.
     */
    private final double real, imaginary;

    public ComplexNumber(double real, double imaginary) {
        this.real = real;
        this.imaginary = imaginary;
    }

Vielen Dank für Antworten!
 
Java:
public ComplexNumber add(ComplexNumber c) {
  return add(c.real, c.imaginary);
}
public ComplexNumber add(double real, double imaginary) {
  return new ComplexNumber(this.real+real, this.imaginary+imaginary);
}
 
Und wie genau läuft das Prinzip für dividieren/ multiplizieren ab? weil ich kann ja nicht einfach

Java:
 public ComplexNumber divide(double scalar) {
        // H1.1
       
        return new ComplexNumber(this.real/scalar, this.imaginary/scalar);
   
}


schreiben oder? Die Rechenregeln müssen ja angewendet werden, aber ich weiss nicht, wie man das machen soll?
 
Zuletzt bearbeitet:
Und wie genau läuft das Prinzip für dividieren/ multiplizieren ab? weil ich kann ja nicht einfach

Java:
 public ComplexNumber divide(double scalar) {
        // H1.1
       
        return new ComplexNumber(this.real/scalar, this.imaginary/scalar);
   
}


schreiben oder? Die Rechenregeln müssen ja angewendet werden, aber ich weiss nicht, wie man das machen soll?
analog
 
Ja, auch wenn mit einer komplexen Zahl multipliziert werden soll: (a,b)*(c,d) = (a+bi) * (c+di) = ac + adi + cbi + bdi² = ac - bd + (ad+cb)i = (ac-bd, ad+cb)

Bei der Division durch eine komplexe Zahl muss man einen kleinen Trick anwenden, um das i aus dem Nenner zu bekommen, nämlich mit (c-di) erweitern:
(a,b)/(c,d) = (a+bi) / (c+di)
= ((a+bi) * (c-di)) / ((c+di)*(c-di))
= ((a+bi)*(c-di)) / (c² - d²i²) = ((a+bi)*(c-di)) / (c²+d²) = (ac - adi + cbi - bdi²) / (c² + d²)
= (ac + bd + (cb-ad)i) / (c² + d²) = (ac+bd)/(c²+d²) + (cb-ad)i / (c² +d²)
= ((ac+bd)/(c²+d²), (cb-ad)/(c²+d²))
 
Und einfach in die Eulersche Form zu übersetzen ist keine Idee?

So einfach rechnet man mit komplexen Zahlen? Ich dachte immer das wäre viel schwerer... Das können ja Grundschüler.
Die Rechenregeln an sich sind einfach. Aber das Ganze auch zu verstehen und sich von der Vorstellung des Nacheinander, wie sie sich bei den reellen Zahlen bildet, zu lösen, dauert seine Zeit.
 
Das ist genauso wie in der Uni: Wenn der Prof will das die Studenen die Klappe halten, haut er ihnen eine mathematische Herleitung um die Ohren. Und damit gleich zu Beginn der gewünschte Ruhezustand hergestellt ist, kommen Herleitungen gleich zu Beginn der Vorlesung und bei Bedarf oder Gutdünken immer wieder zwischendurch.
 
Damit endlich wieder Ruhe einkehrt: eine mathematische Herleitung, daß Frauen böse sind.

frauen.png
 
@White_Fox Eins sagte ein Bekannter, nach dem ich ihn fragte, wie er zu seinem Pilotenschein kam: "Ich hatte eine Freundin, sie machte Schluss mit mir und auf einmal hatte ich wieder Zeit und Geld.."
 

Neue Themen


Zurück
Oben