矩阵乘法运算符 @
矩阵乘法运算符 @
@ MQL5 运算符根据线性代数规则实现矩阵乘法。它允许将矩阵和向量相乘,以及执行向量的标量乘法。
支持元素类型:
- float
- double
- complex
- complex
重要:左操作数和右操作数中的元素类型必须匹配。
使用示例
- 矩阵乘法(矩阵×矩阵)
matrix A(2, 3);
matrix B(3, 2);
matrix C = A @ B; // 结果:大小为 [2,2] 的矩阵 C
- 矩阵乘法(矩阵×向量)
matrix M(2, 3);
vector V(3);
vector R = M @ V; // 结果:2 个元素的向量 R
- 矩阵乘法(向量x矩阵)
matrix M(2, 3);
vector V(1, 2);
vector R = V @ M; // 结果:3 个元素的向量 R
- 标量乘法(向量×向量)
vector V1(1, 3), V2(1, 3);
double r = V1 @ V2; // 结果:标量
请注意
维度必须符合乘法规则:第一个操作数中的列数 = 第二个操作数的行数。
如果发生维度错误,将在运行时触发异常。
左边的向量被认为是水平的(1×n)。
右边的向量被认为是垂直的(n×1)。
@ 运算的优先级对应于乘法的优先级,即对于 D=C+A@B 的条目,首先执行矩阵乘法 T=A@B,然后进行元素加法 D=C+T。