- Opérateurs Composés
- Opérateur d'Expression
- Opérateur Return
- Opérateur Conditionnel if-else
- Opérateur Ternaire ?:
- Opérateur Switch
- Opérateur de Boucle while
- Opérateur de Boucle for
- Opérateur de Boucle do while
- Opérateur Break
- Opérateur Continue
- Opérateur de produit matriciel @
- Opérateur de Création d'Objet new
- Opérateur de Suppression d'Objet delete
Opérateur de produit matriciel @
L'opérateur MQL5 @ implémente la multiplication matricielle selon les règles de l'algèbre linéaire. Il permet de multiplier des matrices et des vecteurs, ainsi que la multiplication scalaire des vecteurs.
Types d'éléments supportés :
- float
- double
- complex<float>
- complex<double>
Important : Les types des éléments des opérandes gauche et droite doivent correspondre.
Exemples d'utilisation
1. Multiplication matricielle (matrice × matrice)
matrix A(2, 3);
|
2. Multiplication matricielle (matrice × vecteur)
matrix M(2, 3);
|
3. Multiplication matricielle (vecteur x matrice)
matrix M(2, 3);
|
4. Multiplication scalaire (vecteur × vecteur)
vector V1(1, 3), V2(1, 3);
|
Note
Les dimensions doivent se conformer aux règles de la multiplication : le nombre de colonnes de la première opérande = le nombre de lignes de la seconde.
En cas d'erreur de dimension, une exception sera déclenchée au moment de l'exécution.
Les vecteurs de gauche sont considérés comme horizontaux (1 × n).
Les vecteurs à droite sont considérés comme verticaux (n × 1).
La priorité de l'opération @ correspond à la priorité de la multiplication, c'est-à-dire pour une entrée D=C+A@B, la première multiplication matricielle T=A@B est effectuée, suivie de l'ajout d'élément D=C+T.
Voir aussi