Class Matrix
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.math.algebra.Matrix
-
public class Matrix extends java.lang.ObjectReprä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 Matrixaddiere(Matrix a, Matrix b)Addiert zwei Matrizen.intanzahlSpalten()Gibt die Anzahl der Spalten in der Matrix zurück.intanzahlZeilen()Gibt die Anzahl der Zeilen in der Matrix zurück.static Matrixdividiere(Matrix a, long s)Dividiert eine Matrix durch ein Skalar.static Matrixdividiere(Matrix a, RationaleZahl s)Dividiert eine Matrix durch ein Skalar.booleanequals(java.lang.Object o)Zwei Matrizen sind gleich, wenn sie gleiche Ordnung haben und in allen Elementen übereinstimmen.RationaleZahlget(int i, int j)Gibt ein bestimmtes Element der Matrix zurück.VektorgetSpaltenvektor(int j)Gibt eine bestimmte Spalte der Matrix als Vektor zurück.VektorgetVektor()Gibt die Matrix als Vektor zurück.VektorgetZeilenvektor(int i)Gibt eine bestimmte Zeile der Matrix als Vektor zurück.inthashCode()static Matrixmultipliziere(Matrix a, long s)Multipliziert eine Matrix mit einem Skalar.static Matrixmultipliziere(Matrix a, Matrix b)Multipliziert die beiden Matrizen.static Matrixmultipliziere(Matrix a, Vektor v)Multipliziert eine Matrix mit einem Vektor.static Matrixmultipliziere(Matrix a, RationaleZahl s)Multipliziert eine Matrix mit einem Skalar.voidset(int i, int j, long wert)Legt den Wert eines bestimmten Elements der Matrix fest.voidset(int i, int j, RationaleZahl wert)Legt den Wert eines bestimmten Elements der Matrix fest.voidsetSpaltenvektor(int j, Vektor v)Überschreibt eine Spalte der Matrix mit einem gegebenen Vektor.voidsetZeilenvektor(int i, Vektor v)Überschreibt eine Zeile der Matrix mit einem gegebenen Vektor.static Matrixsubtrahiere(Matrix a, Matrix b)Subtrahiert zwei Matrizen.booleansymetrisch()Ist die Matrix symetrisch?java.lang.StringtoString()Matrixtransponiert()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:
hashCodein 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:
equalsin 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 wirdnullzurü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:
toStringin classjava.lang.Object
-
transponiert
public Matrix transponiert()
Bestimmt die transponierte Matrix.- Returns:
- Die transponierte Matrix
-
-