Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Метод простой итерации Якоби
Метод Гаусса обладает довольно сложной вычислительной схемой. Кроме того, при вычислениях накапливается ошибка округления, что может привести к недостаточно точному результату. Рассмотрим метод простой итерации Якоби, свободный от этих недостатков, хотя требующий приведения исходной системы уравнений к специальному виду. Для того, чтобы применить метод простой итерации, необходимо систему уравнений
Ax = b (3.22)
с квадратной невырожденной матрицей A привести к виду
x = Bx + c, (3.23)
где B – квадратная невырожденная матрица с элементами bij, i, j = 1, 2, …, n, x – вектор-столбец неизвестных xi, c – вектор-столбец с элементами ci, i = 1, 2, …, n. Существуют различные способы приведения системы (3.22) к виду (3.23). Рассмотрим самый простой. Представим систему (3.22) в развернутом виде:
a11x1 + a12x2 + a13x3 + … + a1nxn = b1 a21x1 + a22x2 + a23x3 + … + a2nxn = b2 a31x1 + a32x2 + a33x3 + … + a3nxn = b3 (3.24) an1x1 + an2x2 + an3x3 + … + annxn = bn
Из первого уравнения системы (3.24) выразим неизвестную x1: x1 = a (b1 – a12x2 – a13x3 – … – a1nxn),
из второго уравнения – неизвестную x2: x2 = a (b2 – a21x1 – a23x3 – … – a2nxn),
и т. д. В результате получим систему:
x1= b12x2 + b13x3 + … + b1, n-1xn-1 + b1nxn + c1 x2= b21x1 + b23x3 + … + b2, n-1xn-1+ b2nxn + c2 x3= b31x1 + b32x2+ … + b3, n-1xn-1+ b3nxn + c3 (3.25) . xn= bn1x1 + bn2x2 + bn3x3 + bn, n-1xn-1 + cn
Матричная запись системы (3.25) имеет вид (3.23). На главной диагонали матрицы B находятся нулевые элементы, а остальные элементы вычисляются по формулам:
bij = , ci = , i, j = 1, 2, …n, i j. (3.26)
Очевидно, что диагональные элементы матрицы A должны быть отличны от нуля. Выберем произвольно начальное приближение Обычно в качестве первого приближения берут x = ci или x = 0. Подставим начальное приближение в правую часть (3.25). Вычисляя левые части, получим значения x , x , …, x . Продолжая этот процесс дальше, получим последовательность приближений, причем (k + 1)-е приближение строится следующим образом: x = b12x + b13 x + … + b1, n-1 x + b1n x + c1 x = b21x 1 + b23 x + … + b2, n-1 x + b2n x + c2 x = b31x + b32 x + … + b3, n-1 x + b3n x + c3 … (3.27) x = bn1x + bn2x + bn3 x + bn, n-1 x + c.n
Система (3.27) представляет собой расчетные формулы метода простой итерации Якоби. Сходимость метода простой итерации. Известно следующее достаточное условие сходимости метода простой итерации Якоби. Если элементы матрицы A удовлетворяют условию:
|aii| > , i = 1, 2, …, n. (3.28)
то итерационная последовательность xk сходится к точному решению x*. Условие (3.28) называют условием преобладания диагональных элементов матрицы A, так как оно означает, что модуль диагонального элемента i-ой строки больше суммы модулей остальных элементов этой строки, i = 1, 2, …, n. Необходимо помнить, что условие сходимости (3.28) является лишь достаточным. Его выполнение гарантирует сходимость метода простых итераций, но его невыполнение, вообще говоря, не означает, что метод расходится. Справедлива следующая апостериорная оценка погрешности:
max|x - x | £ max|x – x |, i = 1, 2, …, n, (3.29)
где b = max |bij| i, j = 1, 2, …, n. Правую часть оценки (3.29) легко вычислить после нахождения очередного приближения. Критерий окончания. Если требуется найти решение с точностью e, то в силу (3.29) итерационный процесс следует закончить как только на (k+1)-ом шаге выполнится неравенство:
max|x – x | < e, i = 1, 2, …, n. (3.30)
Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство
max|x – x | < e1, i = 1, 2, …, n. (3.31) где e1 = e . Если выполняется условие b £ , то можно пользоваться более простым критерием окончания:
max|x – x | < e, i = 1, 2, …, n. (3.32)
В других случаях использование критерия (3.32) неправомерно и может привести к преждевременному окончанию итерационного процесса. Пример 3.5. Применим метод простой итерации Якоби для решения системы уравнений 20.9x1 + 1.2 x2 + 2.1x3 + 0.9x4= 21.70 1.2x1 + 21.2 x2 + 1.5x3 + 2.5x4= 27.46 2.1x1 + 1.5 x2 + 19.8x3 + 1.3x4= 28.76 (3.33) 0.9x1 + 2.5 x2 + 1.3x3 + 32.1x4= 49.72 Заметим, что метод простой итерации сходится, т. к. выполняется условие преобладания диагональных элементов (3.28):
|20.9| > |1.2 + 2.1 + 0.9|, |21.2| > |1.2| + |1.5| + |2.5|, |19.8| > |2.1| + |1.5| + |1.3|, |32.1| > |0.9| + |2.5| + |1.3|.
Пусть требуемая точность e = 10-3. Вычисления будем проводить с четырьмя знаками после десятичной точки. Приведем систему к виду (3.25):
x1 = – 0.0574 x2 – 0.1005x3 – 0.0431x4+ 1.0383 x2 = –0.0566x1 – 0.0708x3 – 0.1179x4+ 1.2953 x3 = –0.1061x1 – 0.0758 x2 – 0.0657x4+ 1.4525 (3.34) x4 = –0.0280x1 – 0.0779 x2 – 0.0405x3 + 1.5489
Величина b = max |bij|, i, j = 1, 2, 3, 4 равна 0.1179, т. е. выполняется условие b £ , и можно пользоваться критерием окончания итерационного процесса (3.32). В качестве начального приближения возьмем элементы столбца свободных членов:
x = 1.0383, x = 1.2953, x = 1.4525, x = 1.5489. (3.35)
Вычисления будем вести до тех пор, пока все величины |x – x |, i = 1, 2, 3, 4, а следовательно, и max|x – x | не станут меньше e = 10-3. Последовательно вычисляем: при k = 1 x = – 0.0574x – 0.1005x – 0.0431x + 1.0383 = 0.7512 x = –0.0566x – 0.0708x – 0.1179x + 1.2953 = 0.9511 x = –0.1061x – 0.0758 x – 0.0657x + 1.4525 = 1.1423 x = –0.0280x – 0.0779x – 0.0405x + 1.5489 = 1.3601
при k = 2 x = 0.8106, x = 1.0118, x = 1.2117, x = 1.4077.
при k = 3 x = 0.7978, x = 0.9977, x = 1.1975, x = 1.3983.
при k = 4 x = 0.8004, x = 1.0005, x = 1.2005, x = 1.4003.
Вычисляем модули разностей значений x при k = 3 и k = 4: | x – x | = 0.026, | x – x | = 0.028, | x – x | = 0.0030, | x – x | = 0.0020.
Так как все они больше заданной точности e = 10-3, продолжаем итерации.
При k = 5 x = 0.7999, x = 0.9999, x = 1.1999, x = 1.3999.
Вычисляем модули разностей значений x при k = 4 и k = 5: | x – x | = 0.0005, | x – x | = 0.0006, | x – x | = 0.0006, | x – x | = 0.0004. Все они меньше заданной точности e = 10-3, поэтому итерации заканчиваем. Приближенным решением системы являются следующие значения: x1 0.7999, x2 0.9999, x3 1.1999, x4 1.3999.
Для сравнения приведем точные значения переменных: x1= 0.8, x2= 1.0, x3= 1.2, x4= 1.4. Метод Зейделя
Модификацией метода простых итераций Якоби можно считать метод Зейделя. В методе Якоби на (k+1)-ой итерации значения x , i = 1, 2, …, n. вычисляются подстановкой в правую часть (3.27) вычисленных на предыдущей итерации значений x . В методе Зейделя при вычислении x используются значения x , x , x , уже найденные на (k+1)-ой итерации, а не x , x , …, x , как в методе Якоби, т.е. (k + 1)-е приближение строится следующим образом: x = b12x + b13 x + … + b1, n-1 x + b1n x + c1 x = b21x + b23 x + … + b2, n-1 x + b2n x + c2 x = b31x + b32 x + … + b3, n-1 x + b3n x + c3(3.36) x = bn1 x + bn2x x + bn3 x x + … + bn, n-1 x + c.n
Формулы (3.36) являются расчетными формулами метода Зейделя. Введем нижнюю и верхнюю треугольные матрицы:
0 0 0 … 0 0 b12 b13 … b1n b210 0 … 0 0 0 b23 … b2n B 1= b31 b32 0 … 0 и B 2= 0 0 0 … b3n. bn1 bn2 bn3 …0 0 0 0 … 0
Матричная запись расчетных формул (3.36) имеет вид:
x k+1 = B 1 x k+1 + B 2 x k + c. (3.37)
Так как B = B 1 + B 2, точное решение x * исходной системы удовлетворяет равенству: x * = B 1 x * + B 2 x * + c. (3.38) Сходимость метода Зейделя. Достаточным условием сходимости метода Зейделя является выполнение неравенства: b = max |bij|, < 1, i, j = 1, 2, …, n. (3.39)
Неравенство (3.39) означает, что для сходимости метода Зейделя достаточно, чтобы максимальный по модулю элемент матрицы B был меньше единицы. Если выполнено условие (3.39), то справедлива следующая апостериорная оценка погрешности:
max|x - x | £ max|x – x | i = 1, 2, …, n, (3.40) где b – максимальный элемент матрицы B, b2– максимальный элемент матрицы B 2. Правую часть оценки (3.40) легко вычислить после нахождения очередного приближения. Критерий окончания. Если требуется найти решение с точностью e, то в силу (3.37) итерационный процесс следует закончить как только на (k+1)-ом шаге выполнится неравенство:
max|x – x | < e, i = 1, 2, …, n. (3.41)
Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство
max|x – x | < e1, i = 1, 2, …, n. (3.42) где e1 = e .
Если выполняется условие b £ , то можно пользоваться более простым критерием окончания:
max|x – x | < e, i = 1, 2, …, n. (3.43)
Метод Зейделя как правило сходится быстрее, чем метод Якоби. Однако возможны ситуации, когда метод Якоби сходится, а метод Зейделя сходится медленнее или вообще расходится. Пример 3.6. Применим метод Зейделя для решения системы уравнений (3.33) из примера 3.5. Первые шаги полностью совпадают с процедурой решения по методу Якоби, а именно: система приводится к виду (3.34), затем в качестве начального приближения выбираются элементы столбца свободных членов (3.35). Проведем теперь итерации методом Зейделя.
При k = 1 x = – 0.0574x – 0.1005x – 0.0431x + 1.0383 = 0.7512
При вычислении x используем уже полученное значение x : x = –0.0566 x – 0.0708x – 0.1179x + 1.2953 = 0.9674
При вычислении x используем уже полученные значения x и x :
x = –0.1061 x – 0.0758 x – 0.0657x + 1.4525 = 1.1977 При вычислении x используем уже полученные значения x , x , x :
x = –0.0280 x – 0.0779 x – 0.0405x x + 1.5489 = 1.4037
Аналогичным образом проведем вычисления при k = 2 и k = 3. Получим:
при k = 2 x = 0.8019, x = 0.9996, x = 1.9996, x = 1.4000.
при k = 3 x = 0.80006, x = 1.00002, x = 1.19999, x = 1.40000.
Известны точные значения переменных: x1= 0.8, x2= 1.0, x3= 1.2, x4= 1.4.
Сравнение с примером 3.5 показывает, что метод Зейделя сходится быстрее и дает более точный результат. Тема 4. Приближение функций Постановка задачи
Задача приближения (аппроксимации) функций заключается в том, чтобы для данной функции построить другую, отличную от нее функцию, значения которой достаточно близки к значениям данной функции. Такая задача возникает на практике достаточно часто. Укажем наиболее типичные случаи. 1. Функция задана таблицей в конечном множестве точек, а вычисления нужно произвести в других точках. 2. Функция задана аналитически, но ее вычисление по формуле затруднительно. При решении задачи поиска приближенной функции возникают следующие проблемы. 1. Необходимо выбрать вид приближенной функции. Для приближения широко используются многочлены, тригонометрические функции, показательные функции и т. д. 2. Необходимо выбрать критерий близости исходной и приближенной функции. Это может быть требование совпадения обеих функций в узловых точках (задача интерполяции), минимизация среднеквадратического уклонения (метод наименьших квадратов) и др. 3. Необходимо указать правило (алгоритм), позволяющее с заданной точностью найти приближение функции. |
Последнее изменение этой страницы: 2019-10-03; Просмотров: 195; Нарушение авторского права страницы