Class Matrix
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.math.algebra.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.
-
-
Method Summary
Modifier and Type Method Description static Matrix
addiere(Matrix a, Matrix b)
Addiert zwei Matrizen.int
anzahlSpalten()
Gibt die Anzahl der Spalten in der Matrix zurück.int
anzahlZeilen()
Gibt die Anzahl der Zeilen in der Matrix zurück.static Matrix
dividiere(Matrix a, long s)
Dividiert eine Matrix durch ein Skalar.static Matrix
dividiere(Matrix a, RationaleZahl s)
Dividiert eine Matrix durch ein Skalar.boolean
equals(java.lang.Object o)
Zwei Matrizen sind gleich, wenn sie gleiche Ordnung haben und in allen Elementen übereinstimmen.RationaleZahl
get(int i, int j)
Gibt ein bestimmtes Element der Matrix zurück.Vektor
getSpaltenvektor(int j)
Gibt eine bestimmte Spalte der Matrix als Vektor zurück.Vektor
getVektor()
Gibt die Matrix als Vektor zurück.Vektor
getZeilenvektor(int i)
Gibt eine bestimmte Zeile der Matrix als Vektor zurück.int
hashCode()
static Matrix
multipliziere(Matrix a, long s)
Multipliziert eine Matrix mit einem Skalar.static Matrix
multipliziere(Matrix a, Matrix b)
Multipliziert die beiden Matrizen.static Matrix
multipliziere(Matrix a, Vektor v)
Multipliziert eine Matrix mit einem Vektor.static Matrix
multipliziere(Matrix a, RationaleZahl s)
Multipliziert eine Matrix mit einem Skalar.void
set(int i, int j, long wert)
Legt den Wert eines bestimmten Elements der Matrix fest.void
set(int i, int j, RationaleZahl wert)
Legt den Wert eines bestimmten Elements der Matrix fest.void
setSpaltenvektor(int j, Vektor v)
Überschreibt eine Spalte der Matrix mit einem gegebenen Vektor.void
setZeilenvektor(int i, Vektor v)
Überschreibt eine Zeile der Matrix mit einem gegebenen Vektor.static Matrix
subtrahiere(Matrix a, Matrix b)
Subtrahiert zwei Matrizen.boolean
symetrisch()
Ist die Matrix symetrisch?java.lang.String
toString()
Matrix
transponiert()
Bestimmt die transponierte Matrix.
-
-
-
Constructor Detail
-
Matrix
public Matrix(int n, int m)
Konstruiert eine leere Matrix.- Parameters:
n
- Anzahl Zeilen der Matrixm
- 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 Vektorzeilenvektor
-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 Matrixb
- 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 matrixs
- 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 matrixs
- 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 matrixs
- Ein Skalar- Returns:
- Das Vielfache der Matrix
-
multipliziere
public static Matrix multipliziere(Matrix a, Matrix b)
Multipliziert die beiden Matrizen.- Parameters:
a
- Erste Matrixb
- 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 matrixs
- 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 Matrixv
- 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 Matrixb
- 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 classjava.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 classjava.lang.Object
-
get
public RationaleZahl get(int i, int j)
Gibt ein bestimmtes Element der Matrix zurück.- Parameters:
i
- Zeilenindex des gesuchten Elementsj
- 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 wirdnull
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 Elementsj
- Spaltenindex des Elementswert
- 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 Elementsj
- Spaltenindex des Elementswert
- 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 sollv
- 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 sollv
- 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 classjava.lang.Object
-
transponiert
public Matrix transponiert()
Bestimmt die transponierte Matrix.- Returns:
- Die transponierte Matrix
-
-