画像処理入門 > 行列計算 > 行列の掛け算

行列の掛け算


行列の掛け算
単純な行列の掛け算のプログラムです。

サンプルプログラム
プログラムはこちら /* matOut : 計算結果 matA : 入力行列A matARows : 入力行列Aの行数 matACols : 入力行列Aの列数 matB : 入力行列B matBRows : 入力行列Bの行数 matBCols : 入力行列Bの列数 */ void multiplication(double **matOut, double **matA, int matARows, int matACols, double **matB, int matBRows, int matBCols){ int i, j, k; if( matACols != matBRows ){ printf("計算できません\n"); return; } for(i = 0; i < matARows; ++i){ for(j = 0; j < matBCols; ++j){ matOut[i][j] = 0.0; for(k = 0; k < matACols; ++k){ matOut[i][j] += matA[i][k] * matB[k][j]; } } } }