Korean, Edit

C での行列乗算の実装

おすすめ投稿:【C言語】 C言語インデックス


a. Github



#include <stdio.h>
#define l 3
#define m 3
#define n 3

int main(void) {
	/* x[a][b] has a rows, b columns */
	int A[l][m] = { { 1,3,2 }, { 7,6,3 }, { 3,0,3 } };
	int B[m][n] = { { 2,1,2 }, { 7,8,1 }, { 5,5,1 } };
	int C[l][n]; // C = A  B
	int i, j, k;
	for(i = 0; i < l; i++)
		for(j = 0; j < n; j++){
			C[i][j] = 0;
			for(k = 0; k < m; k++)
				C[i][j] += A[i][k] * B[k][j];
		}
	for(i = 0; i < 3; i++){
		for(j = 0; j < n; j++)
			printf("%d\t", C[i][j]);
		printf("\n");
	}
	return 0;
}


**行列乗算 : * ※行列 X の i 行 j 列の要素を X[i][j] と表記します。 A ∈ ℝl×m、B ∈ ℝm×n、C ∈ ℝl×n、および C = A × B の場合、次のことが当てはまります。


描画


入力: 13.07.11 21:52

results matching ""

    No results matching ""