MatMul
Il metodo MatMul, che consente la moltiplicazione di matrici e vettori, ha diversi sovraccarichi.
Moltiplicare una matrice per una matrice: matrix[M][K] * matrix[K][N] = matrix[M][N]
matrix matrix::MatMul(
|
Moltiplicare un vettore per una matrice: orizzontale vector[K] * matrix[K][N] = orizzontale vector[N]
vector vector::MatMul(
|
Moltiplicare una matrice per un vettore: matrix[M][K] * verticale vector[K] = verticale vector[M]
vector matrix::MatMul(
|
Moltiplicazione vettoriale scalare: orizzontale vector * verticale vector = valore scalare
scalar vector::MatMul(
|
Parametri
b
[in] Matrice o vettore.
Valore Restituito
Matrice, vettore o scalare, a seconda del metodo utilizzato.
Note
Le matrici devono essere compatibili per la moltiplicazione, cioè il numero di colonne nella prima matrice deve essere uguale al numero di righe nella seconda matrice. La moltiplicazione di matrice non è commutativa: il risultato della moltiplicazione della prima matrice per la seconda non è uguale al risultato della moltiplicazione della seconda matrice per la prima nel caso generale.
Il prodotto della matrice è costituito da tutte le possibili combinazioni di prodotti scalari delle righe dei vettori della prima matrice e delle colonne dei vettori della seconda matrice.
Nella moltiplicazione scalare, i vettori devono avere la stessa lunghezza.
Quando si moltiplicano un vettore e una matrice, la lunghezza del vettore deve corrispondere esattamente al numero di colonne nella matrice.
Semplice algoritmo di moltiplicazione della matrice in MQL5:
matrix MatrixProduct(const matrix& matrix_a, const matrix& matrix_b)
|
Esempio di moltiplicazione di matrice
matrix a={{1, 0, 0},
|
Un esempio di moltiplicazione di un vettore orizzontale per una matrice
//+------------------------------------------------------------------+
|
Un esempio di come moltiplicare una matrice per un vettore verticale
//+------------------------------------------------------------------+
|
Un esempio di prodotto scalare (dot) dei vettori
void OnStart()
|
Vedere anche