SelfGTR Logo KapitelseiteSelfGTR KapitelseiteVariablen
Textseitematrizenspezifische Operationen
vorige SeiteTextseitelistenspezifische Operationen 
 
Gliederung:Folgende Themen werden behandelt:
zum Anfanghochrunter

1. allgemeine Berechnungen

Matrizen unterstützen die skalare Multiplikation. Die Division wird nicht unterstützt. Matrizen können auch potenziert werden (nur positive Werte).
Die Multiplikation ist auch mit Listen möglich (Liste * Matrix).
2 Matrizen können addiert, subtrahiert und multipliziert werden.

Bei der Multiplikation gelten folgende Bedingungen:
Liste * Matrix, wobei die Liste Dimension n und die Matrix Dimension m,n haben muss.
Analog gilt für Matrizen: Matrix1 * Matrix2, wobei Dim(Matrix1) = m,n und Dim(Matrix2) = n,p

Hinweis:Alle Operationen verändern nicht die Matrix an sich, sondern speichern das Erbebnis im Matrix- Antwortspeicher Mat Ans zwischen.

Beispiel:5Mat A

verfünffacht alle Zellen der Matrix A


Beispiel:Mat Ax5

verfünffacht alle Zellen der Matrix A


Beispiel:Mat A0.2

Dieses Beispiel sollte eigentlich genau das gleiche wie das vorige machen.
Da hier aber eine Division verwendet wird, kommt es zu einem Fehler.


Beispiel:List 2xMat A

Multiplikation mit einem Vektor


Beispiel:Mat BxMat A

Multiplikation mit einer Matrix


Beispiel:Mat A^3

Multiplikation mit sich selbst


Beispiel:Mat A-1

Berechet die Inverse.


Beispiel:Mat A^-1

Fehler: Der Exponent muss größer als Null sein (das vorige Beispiel ist ein Sonderfall).



zum Anfanghochrunter

2. Matrizen erzeugen ( [ ] )

Mit dem Klammeroperator können Sie beliebige Matrizen erzeugen.
Die gesamte Matrix wird dabei von einem Klammernpaar umschlossen. Nun wird die Matrix zeilenweise angegeben, wobei jede Zeile wieder von Klammern umschlossen ist. Innerhalb jeder Zeile werden die Elemente kommagetrennt aufgeführt.

Hinweis:Die Befehle List und Mat dürfen innerhalb der Klammern nicht benutzt werden.

Ort:[
]

Syntax:[[<Element 1 Zeile 1>,<Element 2 Zeile 1>,<Element n Zeile 1>][<Element 1 Zeile 2>,<Element 2 Zeile 2>,<Element n Zeile 2>][...][<Element 1 Zeile m>,<Element 2 Zeile m>,<Element n Zeile m>]]

Beispiel:[[1,2,3][4,5,6]]Mat F

Speichert in Matrix F 2 Zeilen mit jeweils 3 Elementen:
Zeile 1: {1,2,3}
Zeile 2: {4,5,6}


Es gibt noch 2 andere Möglichkeiten, Matrizen zu erzeugen:
Kapitel weiter unten Identity: Einheitsmatrizen erzeugen
Textseite ListMat(: Listen nach Matrizen exportieren

zum Anfanghochrunter

3. auf einzelne Zellen zugreifen ( [ ] )

Auf die Zelleninhalte wird ähnlich wie bei Listen mit dem []- Operator zugegriffen. Da Matrizen allerdings neben Zeilen auch noch Spalten haben, muss hier ein zweiter Index übergeben werden.

Hinweis:Die Befehle List und Mat dürfen innerhalb der Klammern nicht benutzt werden.

Ort:[
]

Syntax:Mat <Name>[<Zeile>,<Spalte>]

Parameter:Name: Buchstabe
Zeile: ganze Zahl zwischen 1 und der Zeilenanzahl
Spalte: ganze Zahl zwischen 1 und der Spaltenanzahl

Beispiel:5Mat H[1,3]+4A

Benutzt die Zelle als Teil einer Berechnung.


Beispiel:3Mat H[3,1]

Speichert einen Wert in der Zelle ab.



zum Anfanghochrunter

4. Spalten in eine Liste exportieren ( MatList( )

Der MatList(- Befehl gibt eine Liste zurück, in der eine Spalte der entsprechenden Matrix eingetragen wird.

Ort:MatList(

Syntax:MatList(<Matrix>,<Spalte>)

Beispiel:MatList(Mat A,2)List 2

Speichert die 2. Spalte von Matrix A in Liste 2



zum Anfanghochrunter

5. Determinante bestimmen ( Det )

Die Determinante kann nur berechnet werden, wenn die Martix quadratisch ist (gleiche Zeilen- und Spaltenanzahl).
Besuchen Sie Wikipedia für eine genauere Beschreibung der Determinante.

Ort:Det

Syntax:Det <Matrix>

Beispiel:Det [[-1,3][4,-2]]

Berechnet die Determinante: -10



zum Anfanghochrunter

6. Transponierte bestimmen ( Trn )

Bei einer transponierten Matrix sind die Zeilen und die Spalten vertauscht. Die Matrix wird quasi an der Hauptdiagonalen gespiegelt.
Dadurch wird auch die Dimension verändert.

Ort:Trn

Syntax:Trn <Matrix>

Beispiel:Trn [[-1,3,8][4,-2,0]]

Berechnet die Transponierte: [[-1,4][3,-2][8,0]]



zum Anfanghochrunter

7. Matrizen verschmelzen ( Augment( )

Mit Augment( können Sie 2 Matrizen so miteinander kombinieren, dass die Zeilen der ersten Matrix um die jeweiligen Zeilenelemente der 2. Matrix ergänzt werden.
Beide Matrizen müssen die gleiche Anzahl Zeilen haben.

Ort:Augment(

Syntax:Augment(<Matrix1>,<Matrix2>)

Beispiel:Augment([[1][2]],[[3][4]])

Verkettet die beiden Matrizen zu [[1,3][2,4]]



zum Anfanghochrunter

8. Einheitsmatrix generieren ( Identity )

Die Einheitsmatrix ist immer quadratisch und besteht aus lauter Nullen. Auf der Hauptdiagonalen stehen Einsen.

Ort:Identity

Syntax:Identity <Dimension>

Beispiel:Identity 5Mat G

Nun ist Mat G die 5x5-Einheitsmatrix.



zum Anfanghochrunter

9. Dimension bestimmen ( Dim )

Der Dim- Befehl gibt eine Liste mit den Ausmaßen der Matrix zurück. In Zelle 1 steht die Anzahl der Zeilen und in Zelle 2 die Anzahl der Spalten.

Ort:Dim

Syntax:Dim <Matrix>

Beispiel:Trn [[2][5][7]]
Dim Mat Ans
Clrtext
"ZEILEN:":List Ans[1]
"SPALTEN:":List Ans[2]

Die transponierte Matrix hat 1 Zeile und 3 Spalten.



zum Anfanghochrunter

10. Zeilen vertauschen ( Swap )

Mittels Swap lassen sich 2 Reihen innerhalb einer Matrix vertauschen. Dieser Befehl liefert keine Matrix zurück, sondern manipuliert stattdessen direkt die Eingabematrix.

Ort:Swap

Syntax:Swap <Matrix>,<Zeile1>,<Zeile2>

Parameter:Matrix: Buchstabe oder Ans
Zeile1: ganze Zahl oder Ausdruck
Zeile2: ganze Zahl doer Ausdruck

Beispiel:[[1,2][3,4][5,6]]Mat F
Swap F,2,3

Liefert [[1,2][5,6][3,4]].



zum Anfanghochrunter

11. Skalarprodukt mit einer Zeile ( *Row )

Speichert in einer Zeile ein Vielfaches ihrer selbst. Dieser Befehl liefert keine Matrix zurück, sondern manipuliert stattdessen direkt die Eingabematrix.

Ort:*Row

Syntax:*Row <Multiplikator>,<Matrix>,<Zeile>

Parameter:Multiplikator: beliebige Zahl oder Ausdruck
Matrix: Buchstabe oder Ans
Zeile: ganze Zahl oder Ausdruck

Beispiel:[[1,2][3,4][5,6]]Mat F
*Row 2.5,F,1

Liefert [[2.5,5][3,4][5,6]].



zum Anfanghochrunter

12. Skalarprodukt mit einer Zeile und Addition auf eine andere Zeile ( *Row+ )

Addiert auf eine Zeile das Vielfache einer anderen Zeile. Dieser Befehl liefert keine Matrix zurück, sondern manipuliert stattdessen direkt die Eingabematrix.

Ort:*Row+

Syntax:*Row+ <Multiplikator>,<Matrix>,<Zeile1>,<Zeile2>

Parameter:Multiplikator: beliebige Zahl oder Ausdruck
Matrix: Buchstabe oder Ans
Zeile1: ganze Zahl oder Ausdruck
Zeile2: ganze Zahl oder Ausdruck

Beispiel:[[1,2][3,4][5,6]]
*Row+ 10,Ans,1,3

Liefert [[1,2][3,4][15,26]].



zum Anfanghochrunter

13. Zeilen addieren ( Row+ )

Addiert 2 Zeilen. Dieser Befehl liefert keine Matrix zurück, sondern manipuliert stattdessen direkt die Eingabematrix.

Ort:Row+

Syntax:Row+ <Matrix>,<Zeile1>,<Zeile2>

Parameter:Matrix: Buchstabe oder Ans
Zeile1: ganze Zahl oder Ausdruck
Zeile2: ganze Zahl oder Ausdruck

Beispiel:[[1,2][3,4][5,6]]
Row+ Ans,2,3

Liefert [[1,2][3,4][8,10]].



zum Anfanghochrunter

SelfGTR Version 5.23 vom 04.10.2007© 2002 - 2007 Ronny Scholz