- 重文演算子
- 式の演算子
- Return 演算子
- if-else 条件演算子
- 三項演算子 ?:
- Switch 演算子
- while 反復演算子
- for 反復演算子
- do while 反復演算子
- Break 演算子
- Continue 演算子
- 行列積演算子@
- new オブジェクト作成演算子
- delete オブジェクト解除演算子
行列積演算子@
@ MQL5演算子は、線形代数のルールに従って行列の積を実装するための演算子です。この演算子を使用することで、行列とベクトルの乗算や、ベクトルのスカラー倍を行うことができます。
対応要素型:
- float
- double
- complex<float>
- complex<double>
重要:左辺と右辺のオペランドにおける要素の型は一致している必要があります。
使用例
1. 行列乗算(行列x行列)
matrix A(2, 3);
|
2. 行列乗算(行列xベクトル)
matrix M(2, 3);
|
3. 行列乗算(ベクトルx行列)
matrix M(2, 3);
|
4. スカラー倍(ベクトルxベクトル)
vector V1(1, 3), V2(1, 3);
|
注意事項
乗算を行うには、次元ルール「左側のオペランドの列数 = 右側のオペランドの行数」を満たす必要があります。
次元が一致しない場合は、実行時に例外が発生します。
左側のベクトルは横ベクトル(1×n)として扱われます。
右側のベクトルは縦ベクトル(n×1)として扱われます。
@の演算子優先順位は通常の掛け算と同じです。つまり、「D = C + A @ B」のような式では、まず行列積「T = A @ B」が計算され、その後で「D = C + T」のように要素ごとの加算が行われます。
参照