Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя
Категория реферата: Рефераты по математике
Теги реферата: новые сочинения, сочинение на тему
Добавил(а) на сайт: Hudjakov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
для n ? 10 по методу Зейделя.
2.2.2. Тестовый пример.
4,1x1 + 0,1x2 + 0,2x3 + 0,2x4 = 21,14 ,
0,3x1 + 5,3x2 + 0,9x3 – 0,1x4 = – 17,82 ,
0,2x1 + 0,3x2 + 3,2x3 + 0,2x4 = 9,02 ,
0,1x1 + 0,1x2 + 0,2x3 – 9,1x4 = 17,08 ,
x1 = 5,2, x2 = –4,2, x3 = 3, x4 = –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');
Рекомендуем скачать другие рефераты по теме: скачать доклад на тему, отчет по практике.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата