- Zusammengesetzter Operator
- Operator-Ausdruck
- Rücksetzoperator return
- Konditionaloperator if-else
- Ternärer Operator ?:
- Umschalteroperator switch
- Loop-Operator while
- Loop-Operator for
- Loop-Operator do while
- Endoperator break
- Fortsetzungsoperator continue
- Matrixproduktoperator @
- Operator der Objekterzegung new
- Operator der Objektenfernung delete
Matrixproduktoperator @
Der MQL5-Operator @ implementiert die Matrixmultiplikation nach den Regeln der linearen Algebra. Er ermöglicht die Multiplikation von Matrizen und Vektoren sowie die Skalarmultiplikation von Vektoren.
Unterstützte Elementtypen:
- float
- double
- complex<float>
- complex<double>
Wichtig: Die Elementtypen der linken und rechten Operanden müssen übereinstimmen.
Anwendungsbeispiele:
1. Matrixmultiplikation (matrix × matrix)
matrix A(2, 3);
|
2. Matrixmultiplikation (matrix × vector)
matrix M(2, 3);
|
3. Matrixmultiplikation (vector x matrix)
matrix M(2, 3);
|
4. Skalarmultiplikation (vector × vector)
vector V1(1, 3), V2(1, 3);
|
Hinweis
Die Dimensionen müssen den Multiplikationsregeln entsprechen: Anzahl der Spalten im ersten Operanden = Anzahl der Zeilen im zweiten.
Im Falle eines Dimensionsfehlers wird zur Laufzeit ein Fehler ausgelöst.
Vektoren auf der linken Seite gelten als horizontal (1×n).
Vektoren auf der rechten Seite gelten als vertikal (n×1).
Die Priorität der @-Operation entspricht der Priorität der Multiplikation, d. h. für einen Eintrag von D=C+A@B wird zuerst die Matrixmultiplikation T=A@B ausgeführt, gefolgt von der elementweisen Addition D=C+T.
Siehe auch