- Operador compuesto
- Operador-expresión
- Operador de retorno return
- Operador condicional if-else
- Operador condicional ?:
- Operador switch
- Operador cíclico while
- Operador cíclico for
- Operador cíclico do while
- Operador break
- Operador de continuación continue
- Operador de producto matricial
- Operador-creador de objetos new
- Operador-eliminador de objetos delete
Operador de producto matricial @
El operador @ en lenguaje MQL5 implementa la multiplicación de matrices según las reglas del álgebra lineal. Permite realizar el producto de matrices, vectores y el producto escalar de vectores.
Tipos soportados de elementos:.
- float
- double
- complex<float>
- complex<double>
Importante: los tipos de elemento de los operandos izquierdo y derecho deben coincidir.
Ejemplos de uso
1. Multiplicación de matrices (matriz × matriz)
matrix A(2, 3);
|
2. Multiplicación matricial (matriz × vector)
matrix M(2, 3);
|
3. Multiplicación de matrices (vector × matriz)
matrix M(2, 3);
|
4. Producto escalar (vector × vector)
vector V1(1, 3), V2(1, 3);
|
Observación
Las dimensiones deben seguir las reglas de multiplicación: número de columnas del primer operando = número de filas del segundo operando.
Si las dimensiones son incorrectas, se mostrará una excepción en tiempo de ejecución.
Los vectores de la izquierda se consideran horizontales (1×n).
Los vectores de la derecha se consideran verticales (n×1).
La prioridad de la definición @ corresponde a la prioridad de multiplicación, es decir, para una entrada de la forma D=C+A@B, se realizará primero la multiplicación matricial T=A@B y después la suma elemento a elemento D=C+T.
Ver también