Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 1 Метод Зейделя [Вариант 12]

.doc
Скачиваний:
16
Добавлен:
15.06.2014
Размер:
307.71 Кб
Скачать

Условие задачи:

Текст программы:

#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;

}

Результат работы программы:

Вывод:В данной лабораторной работе была создана программа, которая может решить СЛАУ методом Зейделя.