C++ 矩阵乘法可视化演示
交互式学习矩阵乘法算法及其C++实现
输入矩阵
矩阵 A
×
矩阵 B
×
控制面板
矩阵乘法过程可视化
1
2
3
4
5
6
A
×
7
8
9
10
11
12
B
=
C (结果)
当前计算
计算 C[0][0]:
C++ 实现代码
void matrixMultiply(const vector<vector<int>>& A,
const vector<vector<int>>& B,
vector<vector<int>>& C) { ←
int aRows = A.size();
int aCols = A[0].size();
int bCols = B[0].size();
for (int i = 0; i < aRows; i++) {
for (int j = 0; j < bCols; j++) {
int sum = 0; // 初始化累加值
for (int k = 0; k < aCols; k++) {
sum += A[i][k] * B[k][j];
}
C[i][j] = sum; // 存储结果
}
}
}
调用堆栈
- main()
变量状态
i = 0
j = 0
k = 0
sum = 0
矩阵乘法算法说明
矩阵乘法是线性代数中的基本运算。对于矩阵 A(m×n) 和矩阵 B(n×p),它们的乘积 C(m×p) 定义为:
C[i][j] = Σ(A[i][k] * B[k][j]), k从0到n-1
其中:
- i 表示结果矩阵的行索引 (0 ≤ i < m)
- j 表示结果矩阵的列索引 (0 ≤ j < p)
- k 表示求和索引,遍历 A 的列和 B 的行 (0 ≤ k < n)
实现算法需要三重嵌套循环,时间复杂度为 O(m×n×p)。本演示通过可视化方式展示了这一过程。