본문내용
[0][0]=A[1][0];
c[0][1]=A[1][1];
d[0]=b[1];
d[1]=b[0];
m[0]=-c[1][0]/c[0][0];
c[1][0]=c[1][0]-m[0]*c[0][0];
x[1]=d[1]/c[1][1];
x[0]=(d[0]-c[0][1]*x[1])/c[0][0];
printf("\n구하고자 하는 x값 \n");
for(i=0;i<2;i++)
{
printf("%lf ",x[i]);
printf("\n");
}
}
if (A[0][0]>A[1][0])
{
m[0]=-A[1][0]/A[0][0];
A[1][0]=A[1][0]-m[0]*A[0][0];
x[1]=b[1]/A[1][1];
x[0]=(b[0]-A[0][1]*x[1])/A[0][0];
printf("\n구하고자 하는 x값 \n");
for(i=0;i<2;i++)
{
printf("%lf ",x[i]);
printf("\n");
}
}
}
5. 다음의 연립 방정식을 Gauss 소거법을 사용하여 풀어라. 단 필요하면 표준화 혹은 피봇팅을 사용하여라. 그리고 프로그래밍을 작성하여 그 결과를 비교하라.
(c) - x1 + x2 + 2x3 + 3x4= 11
3x1 - x2 + x3 - x4= 3
- x1 +3x2 + 4x3 + x4= 7
x1 +2x2 + x3 + 2x4= 7
<< C++ Source >>
#include
#include
void main()
{
int i,j,k;
double A[4][4]={{-1,1,2,3},{3,-1,1,-1},{-1,3,4,1},{1,2,1,2}};
double b[4]={11,3,7,7};
double x[4]={0,0,0,0};
double m[4]={0,0,0,0};
printf("<< Welcome ~ !! Gauss 소거법을 이용한 선형방정식의 풀이~!! >> \n\n");
printf("\n본래 행렬 값 \n");//본래 행렬 값을 표현한다.
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
printf("%lf ",A[j][k]);
}
printf("\n");
}
printf("\n");
for(i=1;i<4;i++) // 가우스 소거법을 실행한다
{
m[0]=-A[i][0]/A[0][0];
b[i]=b[i]+m[0]*b[0];
for(j=0;j<4;j++) //1열 전진 소거)
{
A[i][j]=A[i][j]+m[0]*A[0][j];
}
}
for(i=2;i<4;i++)
{
m[0]=-A[i][1]/A[1][1];
b[i]=b[i]+m[0]*b[1];
for(j=1;j<4;j++) //2열 전진 소거
{
A[i][j]=A[i][j]+m[0]*A[1][j];
}
}
m[0]=-A[3][2]/A[2][2];
b[3]=b[3]+m[0]*b[2];
for(j=1;j<4;j++) //3열 전진 소거
{
A[3][j]=A[3][j]+m[0]*A[2][j];
}
printf("\n가우스 소거법 실행 후 행렬 값 \n");
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
printf("%lf ",A[j][k]);
}
printf("\n");
}
x[3]=b[3]/A[3][3];
x[2]=(b[2]-A[2][3]*x[3])/A[2][2];
x[1]=(b[1]-A[1][2]*x[2]-A[1][3]*x[3])/A[1][1];
x[0]=(b[0]-A[0][1]*x[1]-A[0][2]*x[2]-A[0][3]*x[3])/A[0][0];
printf("\n구하고자 하는 x 값 \n");
for(k=0;k<4;k++)
{
printf("%lf | ",x[k]);
}
printf("\n\n");
}
c[0][1]=A[1][1];
d[0]=b[1];
d[1]=b[0];
m[0]=-c[1][0]/c[0][0];
c[1][0]=c[1][0]-m[0]*c[0][0];
x[1]=d[1]/c[1][1];
x[0]=(d[0]-c[0][1]*x[1])/c[0][0];
printf("\n구하고자 하는 x값 \n");
for(i=0;i<2;i++)
{
printf("%lf ",x[i]);
printf("\n");
}
}
if (A[0][0]>A[1][0])
{
m[0]=-A[1][0]/A[0][0];
A[1][0]=A[1][0]-m[0]*A[0][0];
x[1]=b[1]/A[1][1];
x[0]=(b[0]-A[0][1]*x[1])/A[0][0];
printf("\n구하고자 하는 x값 \n");
for(i=0;i<2;i++)
{
printf("%lf ",x[i]);
printf("\n");
}
}
}
5. 다음의 연립 방정식을 Gauss 소거법을 사용하여 풀어라. 단 필요하면 표준화 혹은 피봇팅을 사용하여라. 그리고 프로그래밍을 작성하여 그 결과를 비교하라.
(c) - x1 + x2 + 2x3 + 3x4= 11
3x1 - x2 + x3 - x4= 3
- x1 +3x2 + 4x3 + x4= 7
x1 +2x2 + x3 + 2x4= 7
<< C++ Source >>
#include
#include
void main()
{
int i,j,k;
double A[4][4]={{-1,1,2,3},{3,-1,1,-1},{-1,3,4,1},{1,2,1,2}};
double b[4]={11,3,7,7};
double x[4]={0,0,0,0};
double m[4]={0,0,0,0};
printf("<< Welcome ~ !! Gauss 소거법을 이용한 선형방정식의 풀이~!! >> \n\n");
printf("\n본래 행렬 값 \n");//본래 행렬 값을 표현한다.
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
printf("%lf ",A[j][k]);
}
printf("\n");
}
printf("\n");
for(i=1;i<4;i++) // 가우스 소거법을 실행한다
{
m[0]=-A[i][0]/A[0][0];
b[i]=b[i]+m[0]*b[0];
for(j=0;j<4;j++) //1열 전진 소거)
{
A[i][j]=A[i][j]+m[0]*A[0][j];
}
}
for(i=2;i<4;i++)
{
m[0]=-A[i][1]/A[1][1];
b[i]=b[i]+m[0]*b[1];
for(j=1;j<4;j++) //2열 전진 소거
{
A[i][j]=A[i][j]+m[0]*A[1][j];
}
}
m[0]=-A[3][2]/A[2][2];
b[3]=b[3]+m[0]*b[2];
for(j=1;j<4;j++) //3열 전진 소거
{
A[3][j]=A[3][j]+m[0]*A[2][j];
}
printf("\n가우스 소거법 실행 후 행렬 값 \n");
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
printf("%lf ",A[j][k]);
}
printf("\n");
}
x[3]=b[3]/A[3][3];
x[2]=(b[2]-A[2][3]*x[3])/A[2][2];
x[1]=(b[1]-A[1][2]*x[2]-A[1][3]*x[3])/A[1][1];
x[0]=(b[0]-A[0][1]*x[1]-A[0][2]*x[2]-A[0][3]*x[3])/A[0][0];
printf("\n구하고자 하는 x 값 \n");
for(k=0;k<4;k++)
{
printf("%lf | ",x[k]);
}
printf("\n\n");
}
추천자료
전기기기의 전자기력 분포 해석에 관한 연구
(인지치료기법) 인지행동모델에 대한 이해와 사회복지사의 적용 및 구체적 사례
[행동주의이론][행동주의 학습이론]행동주의이론과 행동주의 학습이론 및 교육적 시사점(행동...
위헌법률심판제도
종합부동산세의 주요내용과 문제점, 개선사항
음주운전의 실태와 교통범죄.
임용고사[특수교육]행동수정
행동주의 학습관의 교육에 대한 시사점
컴퓨터 게임을 오래하는 행동 (행동수정사례, 아동행동수정, 문제행동, 아동행동연구, 아동행...
학습강화의 유형_ 강화학습의 종류와 방법, 학습강화의 관리
[청소년 심리 및 상담][행동주의 상담이론]
행동주의 학습이론의 이론적 배경과 교육현장에서 적용될 수 있는 실질적인 예를 작성해 봅시다.
소개글