![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Алгоритм и подпрограмма явного метода простой итерации (MPI) приведены на языке пакета Mathcad на рис. 4.
В п/п использованы формальные параметры, имеющие следующий смысл: -матрица перехода,
– заданный вектор правой части системы,
-заданная точность решения,
- знаменатель сходимости, какая-либо оценка нормы матрицы
. Размерность матрицы и длина вектора
определяются в п/п, Ограничитель по количеству итераций в случае слабой сходимости или расходимости метода установлен на значение
. Другие внутренние локальные переменные п/п:
– счетчик числа итераций,
- вектор решения на текущей итерации,
- вектор решения на предыдущей и последующей итерации.
Рис.4. Подпрограмма метода простой итерации на языке Mathcad
Использование формальных параметров позволяет многократно вызывать п/п из различных частей основной программы. В случае использования глобальных переменных вместо формальных параметров есть риск ошибок при переопределении глобальных переменных в основной программе. На выходе п/п находится вектор, состоящий из элементов,
. Первые
элементов в нем–это вектор решения
, последний
-й элемент–число итераций
. Для того, чтобы использовать вектор решения в дальнейших вычислениях, например, для определения невязки, необходимо переписать его в новый вектор с
элементом.
Для использования ММПИ с параметром , задаваемым пользователем, необходимо в качестве фактического параметра при вызове MPI задать модифицированную матрицу перехода. Вызов подпрограммы тогда может быть таким, как на рис.5.
Рис.5. Вызов п/п MPI при реализации ММПИ.
Здесь знаменатель сходимости выражен через оптимальный параметр , являющийся центром оптимального круга радиуса
вокруг выпуклой оболочки спектра, описанного в предыдущем параграфе. Для реализации явного метода простой итерации Якоби в качестве фактических параметров матрицы и вектора следует задавать матрицу Якоби и вектор правой части в виде (27). Для реализации в подпрограмме неявного метода Зейделя данная подпрограмма не подходит, так как использует явное умножение матрицы перехода на вектор.
Подпрограмма неявного метода Зейделя приведена на рис.6. Формальные параметры п/п метода Зейделя:
- матрица перехода Якоби (27);
-вектор правой части Якоби (27);
- задаваемая точность решения (абсолютная);
- какая-либо оценка спектрального радиуса оператора Зейделя (для СЛАУ с блочно-трехдиагональной матрицей с положительным спектром в качестве фактического значения можно взять
, где
-оценка спектрального радиуса матрицы Якоби).
Локальные параметры п/п Seidel:
- размерность матрицы
и вектора
;
- число итераций, счетчик цикла; ограничение по числу итераций в случае расходимости метода -
;
- вектор предыдущей итерации;
- вектор текущей итерации.
Фактические параметры при вызове п/п Seidel:
- оптимальный параметр метода релаксации для симметричных, положительно определенных и блочно-трехдиагональных матриц;
- максимальное по модулю число матрицы перехода Якоби;
- матрица перехода Якоби с оптимальным параметром;
- вектор правой части с оптимальным параметром;
- заданная погрешность решения;
- оценка спектрального радиуса сходимости (для блочно-трехдиагональных матриц
).
Рис.6. Подпрограмма метода Зейделя, а также обращение к п/п
Дата публикования: 2014-11-02; Прочитано: 533 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!