728x90
반응형
행렬의 기본 연산은 다들 할 수 있을 거라 믿는다.
행렬의 기본 연산
#include <stdio.h> void main(){ int A[5][5], B[5][5], C[5][5]; int i, j, k; printf("Input A : \n");
for(i = 1; i <= 4; i++){ printf("row %d : ", i); scanf("%d %d %d %d", &A[i][1], &A[i][2], &A[i][3], &A[i][4]); } printf("Input B : \n"); for(i = 1; i <= 4; i++){ printf("row %d : ", i); scanf("%d %d %d %d", &B[i][1], &B[i][2], &B[i][3], &B[i][4]); } for(i = 1; i <= 4; i++){ for(j = 1; j <= 4; j++){ C[i][j] = 0;
for(k = 1; k <= 4; k++){ C[i][j] += A[i][k] * B[k][j]; } } } printf("Output C = A * B : \n"); for(i = 1; i <= 4; i++){ for(j = 1; j <= 4; j++) printf("%8d", C[i][j]); printf("\n");
} }
행렬식
마지막에 |A| = -5 x 8 이 아니라 |A| = -5 x 6 = -30 이다.
◎ 3 X 3 행렬식 구하기 실습
#include <stdio.h> int det(int m[][4]){ return m[1][1] * ((m[2][2] * m[3][3]) - (m[2][3] * m[3][2])) - m[1][2] * ((m[2][1] * m[3][3]) - (m[3][1] * m[2][3])) + m[1][3] * ((m[2][1] * m[3][2]) - (m[3][1] * m[2][2])); } int main(){ int a[4][4] = { {0, 0, 0, 0}, {0, 2, 3, -1}, {0, 1, -2, 1}, {0, 1, -12, 5} }; printf("%d\n", det(a)); return 0; }
반응형
'수업 > 수치계산' 카테고리의 다른 글
[수치계산] 연립선형방정식의 해 - Gauss 소거법 (0) | 2017.06.11 |
---|---|
[수치계산] 연립선형방정식의 해 - Cramer의 법칙 (0) | 2017.06.10 |
[수치계산] 연립선형방정식의 해 - 선형 의존 (0) | 2017.06.10 |
[수치계산] 연립선형방정식의 해 (0) | 2017.06.10 |
[수치계산] 오차&비선형 방정식의 해 - 연습문제 (0) | 2017.06.10 |
댓글