17086

Знаходження розв’язку системи лінійних рівнянь методом Зейделя

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота №23 Тема. Знаходження розвязку системи лінійних рівнянь методом Зейделя Мета. Навчитися вирішувати систему лінійних рівнянь методом Зейделя с заданою точністю; скласти програму. Устаткування: папір формату А4 ПК С Хід роботи Правила те...

Украинкский

2013-06-29

64.5 KB

5 чел.

Лабораторна робота №23

Тема. Знаходження розв’язку системи лінійних рівнянь методом Зейделя

Мета. Навчитися вирішувати систему лінійних рівнянь методом Зейделя с заданою точністю; скласти програму.

Устаткування: папір формату А4, ПК, С++

Хід роботи

  1.  Правила техніки безпеки
  2.  Теоретичні дані

Нехай дана система лінійних рівнянь в нормальноиу виді::

Якщо виконується одна з умов:

, або   , або   , то процес ітерації лінійної системи збігається до єдиного вирішення

Вибираємо початкові наближення коренів (вектор довільних членів системи).

Таким чином, якщо  наближення коренів  відомі, по методу Зейделя будуємо  наближення по наступним формулам:

,  де

Оцінка похибки:

  1.  Індивідуальне завдання.

Методом Зейделя вирішити систему лінійних рівнянь з точністю до 0,001.

16)  

Листинг программы

#include<iostream.h>

#include<stdio.h>

void main()

{int i,j,n;

double a[4][4];

double x[4];

double b[4];

cout<<"Введите n\n";

cin>>n;

cout<<"Введите матрицу A:\n";

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

{cin>>a[i][j];

}

}

cout<<"Введите матрицу B:\n";

for(i=0;i<4;i++)

{cin>>b[i];

}

cout<<"Введите начальное приближение:\n";

for(i=0;i<4;i++)

{cin>>x[i];

}

cout<<"         X1          X2          X3\n";

for(i=0;i<n;i++)

{cout<<i+1<<"  ";

for(j=0;j<4;j++)

{x[j]=b[j]+a[j][0]*x[0]+a[j][1]*x[1]+a[j][2]*x[2]+a[j][3]*x[3];

 printf("%10.5f  ",x[j]);

}

cout<<"\n";

}

}

Вывод: я навчилася вирішувати систему лінійних рівнянь методом Зейделя с заданою точністю; склала програму.