C언어 프로그래밍 - Gaussian elimination
- 최초 등록일
- 2010.01.18
- 최종 저작일
- 2010.01
- 6페이지/ MS 워드
- 가격 1,500원
소개글
C언어 프로그래밍
- Linear Algebra(선형대수) : Gaussian elimination
- 동적변수를 할당하여 n차 선형 연립방정식을 풀 수 있는 프로그램입니다.
- 문서에 c언어 코드와 실제 5차 선형 연립방정식 계산결과가 있습니다.
마지막에 c언어로 계산한 결과와 매틀랩으로 계산한 결과를 비교하였습니다.
목차
없음
본문내용
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,k,num;
double temp=0,multi=1;
double **A;
double *b,*x;
/*동적변수할당*/
printf("equation의갯수= ");
scanf("%d",&num);
A=(double**)calloc(num,sizeof(double));
for(i=0;i<num;i++)
{
A[i]=(double*)calloc(num,sizeof(double));
}
b=(double*)calloc(num,sizeof(double));
x=(double*)calloc(num,sizeof(double));
/*cofficient matrix를입력*/
for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
{
printf("a%d%d = ",i+1,j+1);
scanf("%lf",&A[i][j]);
}
}
/*right side를입력*/
for(i=0;i<num;i++)
{
printf("b%d = ",i+1);
scanf("%lf",&b[i]);
}
/*cofficient matrix, right side를 출력*/
printf("\n");
printf("cofficient matrix, right side \n");
for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
{
printf("%lf ",A[i][j]);
}
printf("│%lf",b[i]);
printf("\n");
}
/*Gaussian elimination*/
for(k=0;k<num-1;k++)
{
for(i=k+1;i<num;i++)
{
multi=A[i][k]/A[k][k];
for(j=k;j<num;j++)
{
A[i][j]=A[i][j]-multi*A[k][j];
}
b[i]=b[i]-multi*b[k];
}
}
/*upper triangle matrix를출력*/
printf("\n");
printf("upper triangle matrix \n");
for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
{
printf("%lf ",A[i][j]);
}
printf("│%lf",b[i]);
printf("\n");
}
참고 자료
없음