Лабораторные работы / лаба4чм2
.docМосковский Энергетический Институт (Технический Университет)
Дисциплина: Численные методы
Лабораторная работа №4
Тема: Решение систем линейных алгебраических уравнений
итерационными методами.
Вариант 10
(задача 4.2)
Студент группы А-14-06
Лозинский Павел
Задача 3.2
Постановка задачи: Для заданной системы уравнений Ax=b найти решение по методу простой итерации с точностью =0.00001, взяв нулевое начальное приближение. Для этого составить программу вычисления решения с заданной точностью. В программе предусмотреть подсчет количества итераций, потребовавшихся для достижения заданной точности.
Элементы матрицы А задаются формулой: , где q – параметр,
определяемый выражением: , здесь N – номер варианта (10), m – размерность матрицы (5). Вектор правой части задается отдельно:
8.666026
12.51475
14.45600
15.85162
13.29040
Теоретический материал: Система уравнений Ax=b с помощью преобразования Якоби может быть приведена к виду, удобному для итерации: x=Bx+C, где В и С получены преобразованием Якоби. Тогда метод простой итерации можно записать в виде: x(n+1)=Bx(n)+C
Критерий окончания метода простой итерации имеет вид:
, где берется бесконечная норма вектора и матрицы.
Основное решение: Для преобразования системы Ax=b к системе x=Bx+C воспользуемся следующими функциями:
Для матрицы А:
Для вектора правых частей:
Напишем функции для нахождения бесконечной нормы вектора:
Также для удобства напишем функцию, считающую разность двух векторов:
Теперь напишем основную функцию, решающую поставленную в условии задачу.
В результате выполнения этой функции будет выводится вектор n-го приближения, а также число итераций, за которое это приближение достигнуто.
Исполним эту программу и сравним полученный результат с результатом, полученным с помощью встроенной функции lsolve в MATHCAD.
Итак, результат с заданной точностью ε=0.00001 достигнут за 42 итерации.