- Operador Composto
- Operador de Expressão
- Operador return
- Operador Condicional if-else
- Operador Ternário ?
- Operador switch
- Operador de loop while
- Operador de loop for
- Operador de loop do while
- Operador break
- Operador continue
- Operador de multiplicação de matrizes
- Operador de Criação de Objeto new
- Operação de Exclusão de Objeto delete
Operador de multiplicação de matrizes @
O operador @ na linguagem MQL5 realiza a multiplicação de matrizes de acordo com as regras da álgebra linear. Permite realizar multiplicação de matrizes, vetores e produto escalar de vetores.
Tipos de elementos suportados:
- float
- double
- complex<float>
- complex<double>
Importante: os tipos dos elementos nos operandos esquerdo e direito devem ser iguais.
Exemplos de uso
1. Multiplicação de matrizes (matriz × matriz)
matrix A(2, 3);
|
2. Multiplicação de matrizes (matriz × vetor)
matrix M(2, 3);
|
3. Multiplicação de matrizes (vetor × matriz)
matrix M(2, 3);
|
4. Produto escalar (vetor × vetor)
vector V1(1, 3), V2(1, 3);
|
Observação
As dimensões devem seguir as regras da multiplicação: o número de colunas no primeiro operando = número de linhas no segundo.
Se houver erro de dimensão, será lançada uma exceção em tempo de execução.
Vetores à esquerda são considerados horizontais (1×n).
Vetores à direita são considerados verticais (n×1).
A prioridade da operação @ corresponde à prioridade da multiplicação, ou seja, numa expressão como D=C+A@B, primeiro será feita a multiplicação de matrizes T=A@B, depois a soma elemento a elemento D=C+T.
Veja também