728x90
반응형
Gauss 소거법
● n 개의 미지수를 가지는 n개 연립방정식을 대응한 삼각모양으로 변환
일반화
a, b, x 구하기
#include <stdio.h> #define n 4 void main(){ float a[5][5], b[5], x[5]; int i, j, k; float c; printf("Input A : \n"); for(i = 1; i <= 4; i++) scanf("%f %f %f %f", &a[i][1], &a[i][2], &a[i][3], &a[i][4]); printf("Input b : \n"); scanf("%f %f %f %f", &b[1], &b[2], &b[3], &b[4]); for(k = 1; k <= n - 1; k++){ for(i = k + 1; i <= n; i++){ c = a[i][k] / a[k][k]; for(j = k; j <= n; j++){ a[i][j] = a[i][j] - c * a[k][j]; } b[i] = b[i] - c * b[k]; } } printf("\nResult : \n"); for(i = 1; i <= 4; i++){ printf("%8.3f x1 + %8.3f x2 + %8.3f x3 + %8.3f x4 = %8.3f \n", a[i][1], a[i][2], a[i][3], a[i][4], b[i]); } for(i = n - 1; i >= 1; i--){ c = b[i]; for(j = i + 1; j <= n; j++){ c = c - a[i][j] * x[j]; } x[i] = c / a[i][i]; } for(i = 1; i <= n; i++) printf("x%d = %8.3f\n", i, x[i]); }
반응형
'수업 > 수치계산' 카테고리의 다른 글
[수치계산] 연립선형방정식의 해 - Gauss Jordan 소거법 (0) | 2017.06.11 |
---|---|
[수치계산] 연립선형방정식의 해 - Gauss Seidel 반복법 (0) | 2017.06.11 |
[수치계산] 연립선형방정식의 해 - Cramer의 법칙 (0) | 2017.06.10 |
[수치계산] 연립선형방정식의 해 - 행렬 (0) | 2017.06.10 |
[수치계산] 연립선형방정식의 해 - 선형 의존 (0) | 2017.06.10 |
댓글