C 언어 또는 파이썬으로 행렬의 곱 구현하기
추천글 : 【C 언어】 C 언어 목차
1. 행렬의 곱셈 [본문]
2. C언어로 구현한 행렬의 곱셈 [본문]
3. 파이썬으로 구현한 행렬의 곱셈 [본문]
⑴ 행렬 X의 i 행, j 열의 원소를 X[i][j]라 하고, A ∈ ℝl×m, B ∈ ℝm×n, C ∈ ℝl×n, C = A × B라고 할 때 다음이 성립
⑵ C 언어 또는 파이썬으로 구현한 예시 상황은 다음과 같음
2. C언어로 구현한 행렬의 곱셈 [목차]
#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;
}
3. 파이썬으로 구현한 행렬의 곱셈 [목차]
# Define the matrices A and B
A = [[1, 3, 2], [7, 6, 3], [3, 0, 3]]
B = [[2, 1, 2], [7, 8, 1], [5, 5, 1]]
# Initialize the result matrix C with zeros
C = [[0 for _ in range(3)] for _ in range(3)]
# Perform matrix multiplication
for i in range(3):
for j in range(3):
for k in range(3):
C[i][j] += A[i][k] * B[k][j]
# Print the input matrix A
for row in A:
print('\t'.join(map(str, row)))
# Print the input matrix B
for row in B:
print('\t'.join(map(str, row)))
# Print the result matrix C
for row in C:
print('\t'.join(map(str, row)))
입력: 2013.07.11 21:52
수정: 2023.11.16 23:27
'▶ 자연과학 > ▷ C, C++' 카테고리의 다른 글
【코딩】 C 언어로 진법변환 (10진법 → 2진법) (0) | 2016.06.27 |
---|---|
【C 언어】 C 언어 목차 (0) | 2016.06.27 |
【코딩】 C 언어로 최단경로 알고리즘 (0) | 2013.12.13 |
【코딩】 C 언어로 CPS Festival 6번 문항 풀기 (0) | 2013.09.24 |
【코딩】 C 언어로 이미지 입출력하기 (0) | 2013.04.17 |
최근댓글