목차
2-1 Gauss
2-2 Gauss-jordan
2-3 Gauss-seidal
2-4 Inverse-Matrix
2-5 LU-decomposition Method
2-2 Gauss-jordan
2-3 Gauss-seidal
2-4 Inverse-Matrix
2-5 LU-decomposition Method
본문내용
#include
#include
#include
void main(void)
{
double A[11][12],X[11],sum, temp, D;
int n, i, j, k;
/* 파일 입출력을 위한 파일 지정 부분 */
FILE *in, *out;
in=fopen(\\"data.in\\",\\"r\\");
out=fopen(\\"data.out\\", \\"w\\");
fscanf(in, \\"%d\\", &n);
fprintf(out, \\"Inputed the number of equations: \\");
fprintf(out, \\"%d\n\\",n);
fprintf(out, \\"Inputed the augmented matrix: \n\\");
for(i=1;i<=n;i++)
for(j=1;j<=n+1;j++){
fscanf(in, \\"%lf\\", &A[i][j]);
fprintf(out, \\"%1.0lf \\", A[i][j]);
if (j==n+1)
fprintf(out, \\"\n\\");
}
/* pivoting */
for (k=1;k<=n-1;k++){
j=k;
for(i=k+1;i<=n;i++)
if( fabs(A[j][k]) < fabs(A[i][k]) )j=1;
if(j!=k){
for(i=1;i<=n+1;i++){
temp=A[k][i];
A[k][i]=A[j][i];
A[j][i]=temp;
}
}
}
for(k=1;k<=n-1;k++){
for(i=k+1;i<=n;i++){
D=A[i][k]/A[k][k];
for(j=1;j<=n+1;j++)
A[i][j]-=D*A[k][j];
}
}
X[n]=A[n][n+1]/A[n][n];
for(j=n-1;j>=1;j--){
sum=0;
for(k=j+1;k<=n;k++)
sum+=A[j][k]*X[k];
X[j]= (A[j][n+1]-sum)/A[j][j];
}
fprintf(out, \\"\n *****Solution *****\n\\");
for(i=1;i<=n;i++)
fprintf(out, \\" X[%d]=%lf\n\\",i,X[i]);
#include
#include
void main(void)
{
double A[11][12],X[11],sum, temp, D;
int n, i, j, k;
/* 파일 입출력을 위한 파일 지정 부분 */
FILE *in, *out;
in=fopen(\\"data.in\\",\\"r\\");
out=fopen(\\"data.out\\", \\"w\\");
fscanf(in, \\"%d\\", &n);
fprintf(out, \\"Inputed the number of equations: \\");
fprintf(out, \\"%d\n\\",n);
fprintf(out, \\"Inputed the augmented matrix: \n\\");
for(i=1;i<=n;i++)
for(j=1;j<=n+1;j++){
fscanf(in, \\"%lf\\", &A[i][j]);
fprintf(out, \\"%1.0lf \\", A[i][j]);
if (j==n+1)
fprintf(out, \\"\n\\");
}
/* pivoting */
for (k=1;k<=n-1;k++){
j=k;
for(i=k+1;i<=n;i++)
if( fabs(A[j][k]) < fabs(A[i][k]) )j=1;
if(j!=k){
for(i=1;i<=n+1;i++){
temp=A[k][i];
A[k][i]=A[j][i];
A[j][i]=temp;
}
}
}
for(k=1;k<=n-1;k++){
for(i=k+1;i<=n;i++){
D=A[i][k]/A[k][k];
for(j=1;j<=n+1;j++)
A[i][j]-=D*A[k][j];
}
}
X[n]=A[n][n+1]/A[n][n];
for(j=n-1;j>=1;j--){
sum=0;
for(k=j+1;k<=n;k++)
sum+=A[j][k]*X[k];
X[j]= (A[j][n+1]-sum)/A[j][j];
}
fprintf(out, \\"\n *****Solution *****\n\\");
for(i=1;i<=n;i++)
fprintf(out, \\" X[%d]=%lf\n\\",i,X[i]);
소개글