Реферат: Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя

0,1x 1 + 0,1x 2 + 0,2x 3 – 9,1x 4 = 17,08 ,

x 1 = 5,2, x 2 = –4,2, x 3 = 3, x 4 = –1,8.

2.2.3. Описание алгоритма. В переменную n вводится порядок матрицы системы, в переменную e – максимальная абсолютная погрешность. С помощью вспомогательной процедуры ReadSystem в двумерный массив a и одномерный массив b вводится c клавиатуры расширенная матрица системы. Начальное прибижение предполагается равным нулю. Оба массива и переменные n и e передаются функции Seidel . В функции Seidel исследуется сходимость системы, и в том случае если система не сходится, выполнение функции прекращается с результатом false . В ходе каждой итерации вычисляется новое приближение и и абсолютная погрешность. Когда полученная погрешность становится меньше заданной, выполнение функции прекращается. Полученное решение выводится на экран при помощи вспомогательной процедуры WriteX.

2.2.4. Листинг программы и результаты работы.

Uses CRT;

Const

maxn = 10;

Type

Data = Real;

Matrix = Array[1..maxn, 1..maxn] of Data;

Vector = Array[1..maxn] of Data;

{ Процедура ввода расширенной матрицы системы }

Procedure ReadSystem(n: Integer; var a: Matrix; var b: Vector);

Var

i, j, r: Integer;

Begin

r := WhereY;

GotoXY(2, r);

Write('A');

For i := 1 to n do begin

GotoXY(i * 6 + 2, r);

Write(i);

GotoXY(1, r + i + 1);

Write(i:2);

end;

GotoXY((n + 1) * 6 + 2, r);

Write('b');

For i := 1 to n do begin

For j := 1 to n do begin

К-во Просмотров: 1018
Бесплатно скачать Реферат: Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя