看GCN的时候突然觉得自己代码能力太弱,于是想简单实现一个C++的矩阵乘法。
虽然很烂,但是总算能跑通了,结果矩阵存于一个指针数组中,数组中的每一个指针指向矩阵的一行。
#include<iostream>
using namespace std;
// 矩阵乘法函数
float** matrixMultiply(int m, int n, int l,float** a, float** b) {
// 创建结果矩阵
float** result = new float*[m];
for (int i = 0; i < m; i++) {
result[i] = new float[l];
}
// 执行矩阵乘法
float sum = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < l; j++){ //选中a的某一行和b的某一列执行矩阵乘法
sum = 0;
for(int k = 0; k < n; k++){ //对a的行和b的列执行乘法求和运算,共进行n次,得到一个结果
sum += a[i][k]*b[k][j];
}
result[i][j] = sum;
}
}
return result;
}
//矩阵初始化函数
void matrixInitial(int m, int n,float** matrix)
{
for(int i=0;i<m;i++){
matrix[i] = new float