Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы численного моделирования. Учебно-методическое пособие
.pdf
71
2) в ячейках В12:Е15, В17:Е20, В22:Е25 и В27:Е30 значения мат-
рицы коэффициентов при неизвестных заменить столбцом свободных
членов и вычислить дополнительные определители в ячейках G13, G18,
G 23 и G28;
3) в ячейках I4:L4 вычислить значения неизвестных.
И т е р а ц и о н н ы е м е т о д ы р е ш е н и я С Л А У
При большом числе уравнений прямые методы решения СЛАУ
становятся труднореализуемыми на компьютере прежде всего из-за
сложности хранения и обработки матриц большой размерности. В то же
время характерной особенностью ряда часто встречающихся в прикладных задачах СЛАУ является разреженность матриц. Число ненулевых
элементов таких матриц мало по сравнению с их размерностью. Для решения СЛАУ с разреженными матрицами предпочтительнее использовать итерационные методы.
Методы последовательных приближений, в которых при вычисле-
нии последующего приближения решения используются предыдущие,
уже известные приближения решения, называются итерационными.
К ним относятся метод простой итерации, метод Гаусса–Зейделя. Важной чертой этих методов является их самоисправляемость и простота
реализации. В случае сходящегося итерационного процесса ошибка
в каком-то приближении исправляется в последующих вычислениях,
и такое исправление требует только несколько лишних шагов единообразных вычислений. Итерационные методы часто используются для
уточнения решения, найденного с помощью прямого метода.
Условия и скорость сходимости каждого итерационного процесса
существенно зависят от свойств уравнений, т. е. от свойств матрицы системы и от выбора начальных приближений.
Рассмотрим подробнее вопрос о погрешностях. Существуют две
характеристики:
– погрешность
, где – точные значения,
– полу-
ченные приближенные значения;
– невязка – разность между правой и левой частями уравнения при
подстановке в них полученного решения:
.

72
Доказано, что если одна из этих характеристик точно равна нулю,
то и другая точно равна нулю. Однако из малости одной из них не следует малости другой. При ε ≈ 0 обычно r ≈ 0, но обратное справедливо
не всегда. Для плохо обусловленных систем при r ≈ 0 погрешность решения может быть большой. Но в практических расчетах, если система
не является плохо обусловленной, контроль точности можно осуществлять с помощью невязки.
Метод простых итераций. Рассмотрим СЛАУ
с невырожденной матрицей (detA ≠ 0).
Приводим СЛАУ к эквивалентному виду:
Такое приведение может быть выполнено различными способами. Одним из наиболее распространенных является следующий.
Решаем исходную систему относительно неизвестных при нену-
левых диагональных элементах
(если какой-либо коэф-
фициент на главной диагонали равен нулю, достаточно соответствующее уравнение поменять местами с любым другим уравнением). Получаем следующие выражения для компонентов вектора β и матрицы α эквивалентной системы:
При таком способе приведения исходной СЛАУ к эквивалентному
виду метод простых итераций носит название метода Якоби.
В качестве нулевого приближения
вектора неизвестных принимаем
вектор свободных членов
. То-
гда на первой итерации вычисляем первое приближение значения неизвестных:

73
На второй итерации вычисляем второе приближение решения:
На k-й итерации вычисляем k-е приближение решения:
Тогда метод простых итераций примет вид
Отсюда видно преимущество итерационных методов по сравнению, например, с методом Гаусса. В вычислительном процессе участвуют только произведения матрицы на вектор, что позволяет работать
с ненулевыми элементами матрицы, при этом значительно упрощается
процесс хранения и обработки матриц.
Достаточным условием сходимости метода простых итераций является следующее условие. Метод простых итераций сходится к единственному решению СЛАУ при любом начальном приближении, если
какая-либо норма матрицы α эквивалентной системы меньше единицы:
.

74
Если используется метод Якоби, то достаточным условием сходимости является диагональное преобладание матрицы А, т. е.
(для каждой строки матрицы А модули элементов, сто-
ящих на главной диагонали, больше суммы модулей недиагональных
элементов). Это условие является достаточным для сходимости метода
Якоби, но не является необходимым.
Итерации проводятся до тех пор, пока не будет выполнено условие
где ε – заданная точность.
Пример. Методом простых итераций с точностью ε = 0,1 решить
СЛАУ
1) Приведем СЛАУ к эквивалентному виду:
2) За начальное приближение неизвестных примем столбец сво-
бодных членов
.
3) Вычислим значения неизвестных на первом приближении:
4) Проверим условие окончания итерационного процесса:
Заданная точность не достигнута. Продолжаем вычисления.

75
5) Вычислим значения неизвестных на втором приближении:
6) Проверим условие окончания итерационного процесса:
Заданная точность не достигнута. Продолжаем вычисления.
7) Вычислим значения неизвестных на третьем приближении:
8) Проверим условие окончания итерационного процесса:
Заданная точность достигнута.
Ответ:
Метод Гаусса–Зейделя. Этот метод является модификацией ме-
тода простых итераций. Здесь также исходная система приводится к эквивалентному виду путем выражения каждого неизвестного из соответствующего уравнения. Затем начинается итерационный процесс поиска
решения. Отличие состоит в том, что на каждой итерации при вычисле-
нии нового приближения неизвестного
в выражение, стоящее в пра-
вой части i-го уравнения, подставляются уже полученные на данной
итерации значения неизвестных, номер которых меньше, чем i, и полученные на предыдущей итерации значения неизвестных, номер которых больше, чем i.

76
Так, на первой итерации вычисления производятся следующим
образом:
На k-й итерации:
Формулу для неизвестного
на k-й итерации можно представить
в виде
Итерационный процесс продолжается до тех пор, пока не будет
выполнено условие
Иногда в качестве условия завершения итерационного процесса
используют относительный критерий:
или
Пример. Методом простых итераций с точностью ε = 0,1 решить
СЛАУ

77
1) Приведем СЛАУ к эквивалентному виду:
2) За начальное приближение неизвестных примем столбец сво-
бодных членов
.
3) Вычислим значения неизвестных на первом приближении:
4) Проверим условие окончания итерационного процесса
Заданная точность не достигнута. Продолжаем вычисления.
5) Вычислим значения неизвестных на втором приближении
6) Проверим условие окончания итерационного процесса:
Таким образом, уже на второй итерации заданная точность достигнута.
Ответ:

78
Л а б о р а т о р н а я р а б о т а 8
Р Е Ш Е Н И Е С Л А У И Т Е Р А Ц И О Н Н Ы М И М Е Т О Д А М И
Цель работы: формирование навыков решения СЛАУ итерационными методами с применением инструментария табличного процессора Excel.
1. Решить СЛАУ с заданной точностью методом простых итераций
и методом Гаусса–Зейделя. Для этого в табличном процессоре Excel создать таблицу по образцу (рис. 21).
Рис. 21. Шаблон решения СЛАУ итерационными методами
В ячейки В3:Е6, Н3:Н6, К3 ввести соответствующие исходные
данные.
2. Решить СЛАУ методом простых итераций в ячейках таблицы:
1) привести СЛАУ к эквивалентному виду, удобному для итерации;
2) в ячейках В10:Е13 и Н10:Н13 вычислить коэффициенты при не-
известных и свободные члены эквивалентной СЛАУ соответственно по
формулам

79
3) в ячейки В17:В20 занести начальные приближения значений неизвестных (например, равные соответствующим свободным членам эквивалентной СЛАУ);
4) в ячейках К10:К13 вычислить произведение матрицы коэффициентов при неизвестных эквивалентной СЛАУ на столбец значений
неизвестных, используя функцию МУМНОЖ;
5) в ячейках С17:С20 вычислить новое приближение значений не-
известных по формуле
6) в ячейках D17:D20 и D22 вычислить разницы между значениями неизвестных на текущей и предыдущей итерациях по модулю,
а также максимальную разницу;
7) если максимальная разница превышает заданную точность, то
в ячейки, содержащие предыдущее приближение, скопировать значения текущего приближения, используя специальную вставку;
8) создать макрос для замены предыдущего приближения текущим. Для этого выполнить команду Сервис/Макрос/Начать запись
и аккуратно выполнить все действия, необходимые для копирования
значений текущего приближения в ячейки, содержащие предыдущее
приближение. Остановить запись макроса! Просмотреть текст макроса;
9) на рабочем листе с расчетами создать кнопку «Замена» для запуска макроса;
10) продолжать вычисления до достижения заданной точности,
подсчитать число итераций;
11) заполнить ход итерационного процесса.
3. Составить программу для решения СЛАУ методом простых
итераций (см. алгоритм) и ввести ее текст в редакторе MVB: 1) результаты поместить в ячейки С26:G26;
2) отладить программу и создать кнопку для ее запуска Метод
простых итераций правее расчетной таблицы;
3) скопировать текст программы вниз, изменить имя, внести изменения в соответствии с алгоритмом Гаусса–Зейделя для решения
СЛАУ;
4) результаты поместить в ячейки С27:G27;
5) отладить программу и создать кнопку для ее запуска Метод
Гаусса–Зейделя.

80
В а р и а н т ы з а д а н и й
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
