| | | | Gliederung: | Folgende Themen werden behandelt: |
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. |
| verfünffacht alle Zellen der Matrix A |
| verfünffacht alle Zellen der Matrix A |
| Beispiel: | Mat A 0.2 |
| Dieses Beispiel sollte eigentlich genau das gleiche wie das vorige machen. Da hier aber eine Division verwendet wird, kommt es zu einem Fehler. |
| Multiplikation mit einem Vektor |
| Multiplikation mit einer Matrix |
| Multiplikation mit sich selbst |
| Fehler: Der Exponent muss größer als Null sein (das vorige Beispiel ist ein Sonderfall). |
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. |
| 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:
Identity: Einheitsmatrizen erzeugen
List Mat(: Listen nach Matrizen exportieren
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. |
| 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]+4 A |
| Benutzt die Zelle als Teil einer Berechnung. |
| Beispiel: | 3 Mat H[3,1] |
| Speichert einen Wert in der Zelle ab. |
4. Spalten in eine Liste exportieren ( Mat List( )
Der Mat List(- Befehl gibt eine Liste zurück, in der eine Spalte der entsprechenden Matrix eingetragen wird.
| Syntax: | Mat List(<Matrix>,<Spalte>) |
| Beispiel: | Mat List(Mat A,2) List 2 |
| Speichert die 2. Spalte von Matrix A in Liste 2 |
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.
| Beispiel: | Det [[-1,3][4,-2]] |
| Berechnet die Determinante: -10 |
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.
| Beispiel: | Trn [[-1,3,8][4,-2,0]] |
| Berechnet die Transponierte: [[-1,4][3,-2][8,0]] |
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.
| Syntax: | Augment(<Matrix1>,<Matrix2>) |
| Beispiel: | Augment([[1][2]],[[3][4]]) |
| Verkettet die beiden Matrizen zu [[1,3][2,4]] |
8. Einheitsmatrix generieren ( Identity )
Die Einheitsmatrix ist immer quadratisch und besteht aus lauter Nullen. Auf der Hauptdiagonalen stehen Einsen.
| Syntax: | Identity <Dimension> |
| Beispiel: | Identity 5 Mat G |
| Nun ist Mat G die 5x5-Einheitsmatrix. |
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.
| 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. |
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.
| 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]]. |
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.
| 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]]. |
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.
| 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]]. |
13. Zeilen addieren ( Row+ )
Addiert 2 Zeilen. Dieser Befehl liefert keine Matrix zurück, sondern manipuliert stattdessen direkt die Eingabematrix.
| 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]]. |
| SelfGTR Version 5.23 vom 04.10.2007 | © 2002 - 2007 Ronny Scholz |
|