矩阵连乘代码详解c++
时间: 2024-12-24 10:31:43 浏览: 0
浪漫烟花 表白代码整合 大全
在C++中,矩阵连乘(Matrix Multiplication)通常涉及到两个矩阵的逐元素相乘,然后将结果组成一个新的矩阵。这里我将给出一个简单的二维数组表示矩阵,并演示如何通过嵌套循环实现矩阵的乘法。注意,在实际应用中,可以使用一些库如Eigen或BLAS来优化性能。
```cpp
#include <iostream>
using namespace std;
// 定义矩阵结构
struct Matrix {
int rows;
int cols;
double data[100][100]; // 假设我们最多处理10x10大小的矩阵
// 矩阵乘法函数
Matrix operator*(const Matrix& other) const {
Matrix result(rows, other.cols);
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < other.cols; ++j) {
for (int k = 0; k < cols; ++k) { // 遍历当前行的每个元素
result.data[i][j] += data[i][k] * other.data[k][j]; // 逐元素相乘并累加
}
}
}
return result;
}
};
int main() {
Matrix A(3, 2), B(2, 4); // 创建两个示例矩阵
A.data[0][0] = 1; A.data[0][1] = 2; A.data[1][0] = 3; A.data[1][1] = 4;
B.data[0][0] = 5; B.data[0][1] = 6; B.data[1][0] = 7; B.data[1][1] = 8;
B.data[0][2] = 9; B.data[1][2] = 10; B.data[0][3] = 11; B.data[1][3] = 12;
Matrix C = A * B; // 实际运算
for (int i = 0; i < C.rows; ++i) {
for (int j = 0; j < C.cols; ++j)
cout << C.data[i][j] << " "; // 打印结果矩阵
cout << endl;
}
return 0;
}
阅读全文