示例#1
0
  /**
   * <u>Funktion zur Berechnung mit dem Exponenten 'expon' >= 1</u><br>
   *
   * @param comp Komplexe Zahl
   * @param expon Exponenten, mit dem die komplexe Zahl exponiert ist.
   * @return R&uuml;ckgabe von neuem Objekt mit Ergebnis aus Exponierung
   */
  public static Complex pow(Complex comp, int expon) {
    double abs, arg; // interne Variablen fuer Betrag und Phase
    Complex swap = null;
    if (expon >= 1) {
      abs = Math.pow(comp.getAbs(), (double) expon); // Betrag exponieren
      arg = comp.getArg() * (double) expon; // Winkel mit Exponenten multiplizieren
      swap = new Complex(abs, arg, true);
    } else System.out.println("! Exponent kleiner 1 !");

    return swap;
  }
示例#2
0
  /**
   * <u>Berechnen der n-ten Wurzel der komplexen Zahl</u><br>
   *
   * @param comp Komplexe Zahl
   * @param expon Wurzelexponent
   * @return R&uuml;ckgabe eines Vector mit n L&ouml;sungen
   */
  public static Complex sqrt(Complex comp, int expon) {
    double abs, arg; // interne Variablen fuer Betrag und Phase
    double[] sqrtArgArray; // double-Array, mit n-Winkeln aus Wurzelberechnung
    Complex swap = null;

    if (expon >= 1) {
      sqrtArgArray = new double[expon]; // Anlegen des n double-Werte-Arrays für die n-Lösungen
      abs = Math.pow(comp.getAbs(), 1d / (double) expon); // n-te Wurzel aus Betrag ziehen

      for (int i = 0; i <= expon - 1; i++) { // Anlegen der n double-Werte fuer die n-Loesungen
        sqrtArgArray[i] =
            comp.getArg() / (double) expon + ((double) i * 2 * Math.PI) / (double) expon;
      }

      arg = sqrtArgArray[0]; // "Hauptwinkel" bekommt ersten Wert aus double-Werte-Array

      swap = new Complex(abs, arg, true);
      swap.setSqrtArgArray(sqrtArgArray);
    } else System.out.println("! Wurzelexponent kleiner 1 !");

    return swap;
  }
示例#3
0
 /**
  * <u>Berechnen des Logarithmus zur Basis 10 komplexen Zahl</u><br>
  *
  * @param comp Komplexe Zahl
  * @return R&uuml;ckgabe eines Objektes vom Typ Complex mit L&ouml;sung aus log(<u>z</u>)
  */
 public static Complex log(Complex comp) {
   return new Complex(Math.log10(comp.getAbs()), Math.log10(Math.exp(comp.getArg())));
 }
示例#4
0
 /**
  * <u>Berechnen des nat&uuml;rlichen Logarithmus der komplexen Zahl</u><br>
  *
  * @param comp Komplexe Zahl
  * @return R&uuml;ckgabe eines Objektes vom Typ Complex mit L&ouml;sung aus ln(<u>z</u>)
  */
 public static Complex ln(Complex comp) {
   return new Complex(Math.log(comp.getAbs()), comp.getArg());
 }
示例#5
0
 /**
  * <u>Division zweier komplexer zahlen</u><br>
  *
  * @param comp1 1. Komplexe Zahl
  * @param comp2 2. Komplexe Zahl
  * @return R&uuml;ckgabe von neuem Objekt mit Ergebnis aus Division
  */
 public static Complex div(Complex comp1, Complex comp2) {
   return new Complex(comp1.getAbs() / comp2.getAbs(), comp1.getArg() - comp2.getArg(), true);
 }
示例#6
0
 /**
  * <u>Multiplikation zweier komplexer zahlen</u><br>
  *
  * @param comp1 1. Komplexe Zahl
  * @param comp2 2. Komplexe Zahl
  * @return R&uuml;ckgabe von neuem Objekt mit Ergebnis aus Multiplikation
  */
 public static Complex mul(Complex comp1, Complex comp2) {
   return new Complex(comp1.getAbs() * comp2.getAbs(), comp1.getArg() + comp2.getArg(), true);
 }
示例#7
0
 /**
  * <u>Division zweier komplexer Zahlen</u><br>
  *
  * @param comp Komplexe Zahl
  * @return R&uuml;ckgabe von neuem Objekt mit Ergebnis aus Division
  */
 public Complex div(Complex comp) {
   return new Complex(this.abs / comp.getAbs(), this.arg - comp.getArg(), true);
 }
示例#8
0
 /**
  * <u>Multiplikation zweier komplexer Zahlen</u><br>
  *
  * @param comp Komplexe Zahl
  * @return R&uuml;ckgabe von neuem Objekt mit Ergebnis aus Multiplikation
  */
 public Complex mul(Complex comp) {
   return new Complex(this.abs * comp.getAbs(), this.arg + comp.getArg(), true);
 }