Программная реализация итерационных методов

Процедура-подпрограмма, реализующая итерационные методы решения систем линейных уравнений, приведена в конце главы (ПРОГРАММА 3.2).

Типы данных, используемых в процедуре Iteras эквивалентны типам данных, используемых в ПРОГРАММЕ 3.1. К имеющимся операторам ввода следует добавить операторы ввода столбца начальных приближений х10, х20,..., хn0, выбора метода - Metod, максимального числа итераций - MaxItr, заданной погрешности - Eps. К операторам вывода - вывод числа итераций, за которое достигнута требуемая точность - ColItr. В основной программе следует организовать вызов процедуры по аналогии с ПРОГРАММОЙ 3.1.

Как видно из текста программного модуля, отличие программной реализации метода простых итераций от метода Зейделя состоит в замене х0[i] на х[i] в операторе расчета SumStr. При определении погрешности итераций находится максимальная (ErrMax), которая и служит условием окончания итерационного процесса.

Для иллюстрации условий сходимости итерационных методов была написана демонстрационная программа, позволяющая наблюдать итерационный процесс при графической интерпретации для системы из двух уравнений. Результаты расчетов приведены на рис.3.2-3.7.

Как видно на рис.3.2 и рис.3.3, применение метода Зейделя ускоряет итерационный процесс. В данном случае процесс заканчивается примерно за вдвое меньшее число итераций, чем в методе простых итераций. Из графиков видно, что в методе Зейделя последовательные итерации располагаются на одной из прямых.

.

.

.

.

 
 

.

 
 

.

Изменение взаимного наклона прямых приводит к изменению характера итерационного процесса. При его увеличении процесс сначала переходит в двухсторонний сходящийся (рис.3.4,3.5), потом происходит зацикливание, то есть значения переменных будут периодически повторяться (рис.3.6). При большем угле между прямыми процесс становится расходящимся (рис.3.7).

Во время практических занятий предлагается, используя процедуру Gauss и программу Gauss _ M, написать и отладить программу вычисления обратной матрицы. Для этого следует воспользоваться соотношением АА-1, где Е - единичная матрица, расписав его поэлементно и приняв в качестве неизвестных элементы аij обратной матрицы А-1.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: