Class Matrix


  • public class Matrix
    extends java.lang.Object
    Repräsentiert eine Matrix. Die Matrix besteht aus aus einer beliebigen Anzahl von Zeilen (Vektor) mit beliebiger Länge.
    • Constructor Summary

      Constructors 
      Constructor Description
      Matrix​(int n, int m)
      Konstruiert eine leere Matrix.
      Matrix​(Matrix matrix)
      Konstruiert eine Matrix aus einet bestehenden Matrix.
      Matrix​(Vektor vektor, boolean zeilenvektor)
      Konstruiert eine Matrix aus einem Vektor.
    • Constructor Detail

      • Matrix

        public Matrix​(int n,
                      int m)
        Konstruiert eine leere Matrix.
        Parameters:
        n - Anzahl Zeilen der Matrix
        m - Anzahl Spalten der Matrix
        Throws:
        java.lang.IllegalArgumentException - Wenn die Zeilen- oder Spaltenanzahl kleiner 1 ist
      • Matrix

        public Matrix​(Matrix matrix)
        Konstruiert eine Matrix aus einet bestehenden Matrix.
        Parameters:
        matrix - Eine Matrix
      • Matrix

        public Matrix​(Vektor vektor,
                      boolean zeilenvektor)
        Konstruiert eine Matrix aus einem Vektor. Abhängig vom zweiten Parameter wird der Vektor zur ersten und einzigen Zeile oder zur ersten und einzigen Spalte.
        Parameters:
        vektor - Ein Vektor
        zeilenvektor - true, wenn der Vektor zur Zeile der Matrix werden soll. false, wenn der Vektor zur Spalte der Matrix werden soll.
    • Method Detail

      • addiere

        public static Matrix addiere​(Matrix a,
                                     Matrix b)
        Addiert zwei Matrizen.
        Parameters:
        a - Erste Matrix
        b - Zweite Matrix
        Returns:
        Das Ergebnis der Matrixaddition
        Throws:
        java.lang.IllegalArgumentException - Wenn die beiden Matrizen nicht die selbe Ordung besitzen
      • dividiere

        public static Matrix dividiere​(Matrix a,
                                       long s)
        Dividiert eine Matrix durch ein Skalar.
        Parameters:
        a - Eine matrix
        s - Ein Skalar
        Returns:
        Das Vielfache der Matrix
      • dividiere

        public static Matrix dividiere​(Matrix a,
                                       RationaleZahl s)
        Dividiert eine Matrix durch ein Skalar.
        Parameters:
        a - Eine matrix
        s - Ein Skalar
        Returns:
        Das Vielfache der Matrix
      • multipliziere

        public static Matrix multipliziere​(Matrix a,
                                           long s)
        Multipliziert eine Matrix mit einem Skalar.
        Parameters:
        a - Eine matrix
        s - Ein Skalar
        Returns:
        Das Vielfache der Matrix
      • multipliziere

        public static Matrix multipliziere​(Matrix a,
                                           Matrix b)
        Multipliziert die beiden Matrizen.
        Parameters:
        a - Erste Matrix
        b - Zweite Matrix
        Returns:
        Das Ergebnis der Matrixmultiplikation
        Throws:
        java.lang.IllegalArgumentException - Wenn die Spaltenanzahl der ersten Matrix nicht mit der Zeilenanzahl der zweiten übereinstimmt
      • multipliziere

        public static Matrix multipliziere​(Matrix a,
                                           RationaleZahl s)
        Multipliziert eine Matrix mit einem Skalar.
        Parameters:
        a - Eine matrix
        s - Ein Skalar
        Returns:
        Das Vielfache der Matrix
      • multipliziere

        public static Matrix multipliziere​(Matrix a,
                                           Vektor v)
        Multipliziert eine Matrix mit einem Vektor.
        Parameters:
        a - Eine Matrix
        v - Ein Vektor
        Returns:
        Das Ergebnis der Matrixmultiplikation
        Throws:
        java.lang.IllegalArgumentException - Wenn die Spaltenanzahl der Matrix nicht mit der Komponentenanzahl des Vektors übereinstimmt
      • subtrahiere

        public static Matrix subtrahiere​(Matrix a,
                                         Matrix b)
        Subtrahiert zwei Matrizen.
        Parameters:
        a - Erste Matrix
        b - Zweite Matrix
        Returns:
        Das Ergebnis der Matrixsubtraktion
        Throws:
        java.lang.IllegalArgumentException - Wenn die beiden Matrizen nicht die selbe Ordung besitzen
      • anzahlSpalten

        public int anzahlSpalten()
        Gibt die Anzahl der Spalten in der Matrix zurück.
        Returns:
        Spaltenanzahl
      • anzahlZeilen

        public int anzahlZeilen()
        Gibt die Anzahl der Zeilen in der Matrix zurück.
        Returns:
        Zeilenanzahl
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Zwei Matrizen sind gleich, wenn sie gleiche Ordnung haben und in allen Elementen übereinstimmen.
        Overrides:
        equals in class java.lang.Object
      • get

        public RationaleZahl get​(int i,
                                 int j)
        Gibt ein bestimmtes Element der Matrix zurück.
        Parameters:
        i - Zeilenindex des gesuchten Elements
        j - Spaltenindex des gesuchten Elements
        Returns:
        Wert des gesuchten Elements
      • getSpaltenvektor

        public Vektor getSpaltenvektor​(int j)
        Gibt eine bestimmte Spalte der Matrix als Vektor zurück.
        Parameters:
        j - Spalteindex
        Returns:
        Die Matrixspalte als Vektor
      • getVektor

        public Vektor getVektor()
        Gibt die Matrix als Vektor zurück. Dies ist nur möglich, wenn die Matrix entweder aus genau einer Zeile oder genau einer Spalte besteht. In allen anderen Fällen wird null zurückgegeben.
        Returns:
        Die Matrix als Vektor oder null, wenn dies nicht möglich ist
      • getZeilenvektor

        public Vektor getZeilenvektor​(int i)
        Gibt eine bestimmte Zeile der Matrix als Vektor zurück.
        Parameters:
        i - Zeilenindex
        Returns:
        Die Matrixzeile als Vektor
      • set

        public void set​(int i,
                        int j,
                        long wert)
        Legt den Wert eines bestimmten Elements der Matrix fest.
        Parameters:
        i - Zeilenindex des Elements
        j - Spaltenindex des Elements
        wert - Neuer Wert des Elements
      • set

        public void set​(int i,
                        int j,
                        RationaleZahl wert)
        Legt den Wert eines bestimmten Elements der Matrix fest.
        Parameters:
        i - Zeilenindex des Elements
        j - Spaltenindex des Elements
        wert - Neuer Wert des Elements
      • setSpaltenvektor

        public void setSpaltenvektor​(int j,
                                     Vektor v)
        Überschreibt eine Spalte der Matrix mit einem gegebenen Vektor.
        Parameters:
        j - Die Matrixspalte, die überschrieben werden soll
        v - Der Vektor, durch den die Matrixspalte ersetzt werden soll
      • setZeilenvektor

        public void setZeilenvektor​(int i,
                                    Vektor v)
        Überschreibt eine Zeile der Matrix mit einem gegebenen Vektor.
        Parameters:
        i - Die Matrixzeile, die überschrieben werden soll
        v - Der Vektor, durch den die Matrixzeile ersetzt werden soll
      • symetrisch

        public boolean symetrisch()
        Ist die Matrix symetrisch?
        Returns:
        true, wenn die Matrix symetrisch ist
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • transponiert

        public Matrix transponiert()
        Bestimmt die transponierte Matrix.
        Returns:
        Die transponierte Matrix