Лаба 1 Метод Зейделя [Вариант 12]
.doc
Условие задачи:
Текст программы:
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
main()
{
double a[10][10];
double X[10],X0[10];
int i,j,n=5;
int k;
double b[10];
double e,s,w,de,d;
a[1][1]=-2.17; a[1][2]=1; a[1][3]=0; a[1][4]=0; a[1][5]=0; b[1]=0; X[0]=1;
a[2][1]=1; a[2][2]=-2; a[2][3]=1; a[2][4]=0; a[2][5]=0; b[2]=6; X[1]=1;
a[3][1]=0; a[3][2]=1; a[3][3]=-2; a[3][4]=1; a[3][5]=0; b[3]=6; X[2]=1;
a[4][1]=0; a[4][2]=0; a[4][3]=1; a[4][4]=-2; a[4][5]=1; b[4]=6; X[3]=1;
a[5][1]=0; a[5][2]=0; a[5][3]=0; a[5][4]=1; a[5][5]=-2.17; b[5]=0; X[4]=1;
n=5;
e=0.001;
w=1;
for(i=1;i<=n;i++)
{
X0[i]=1;
X[i]=1;
}
k=0;
do
{
de=0;
for(i=1;i<=n;i++)
{
s=b[i];
for(j=1;j<=i-1;j++)
{
s=s-a[i][j]*X0[j];
}
for(j=i+1;j<=n;j++)
{
s=s-a[i][j]*X0[j];
}
s=s/a[i][i];
s=w*s+(1-w)*X[i];
d=fabs(X[i]-s);
X[i]=s;
if(d>de) de=d;
}
k=k+1;
for(i=1;i<=n;i++)
{
X0[i]=X[i];
}
}
while( (k<100) || (de>=e));
cout<<"Rezyltat vi4islenii metodom Zoidel9:"<<endl;
for(i=1;i<=n;i++)
{
cout<<"x["<<i<<"]="<<X[i]<<endl;
}
return 0;
}
Результат работы программы:
Вывод:В данной лабораторной работе была создана программа, которая может решить СЛАУ методом Зейделя.