![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Метод простой итерации. Технология итерационного решения вида (25*) названа методом простой итерации.
Технология итерационного решения вида (25*) названа методом простой итерации. Оценка абсолютной погрешности для метода простой итерации
напомним, символ ||... || означает норму. Пример 1. Методом простой итерации с точностью e=0, 001 решить систему линейных уравнений Число шагов, дающих ответ с точностью до e = 0, 001, можно определить из соотношения
Оценим сходимость по формуле (26). Здесь || G || = В качестве начального приближения возьмем вектор свободных членов, т.е. Продолжая вычисления, результаты занесем в таблицу:
Сходимость в тысячных долях имеет место уже на 10-м шаге. Ответ: х 1» 3, 571; х 2» –0, 957; х 3» 1, 489; х 4» –0, 836. Это решение может быть получено и с помощью формул (27*). Пример 2. Для иллюстрации алгоритма с помощью формул (27*), рассмотрим решение системы (только две итерации):
Преобразуем систему к виду (25) согласно (27*):
Возьмем начальное приближение Ошибка e2 = Блок-схема алгоритма нахождения решения СЛАУ по методу простых итераций согласно рабочим формулам (27*) представлена на рис. 2.4. Рис. 2.4. Блок-схема метода простых итераций для решения СЛАУ
Особенностью блок-схемы являются блоки: (13) – назначение его рассмотрим ниже; (21) – вывод результатов на экран; (22) – проверка (индикатор) сходимости. Проведем анализ предложенной схемы на примере системы (30) (n = 3, w =1, e = 0, 001):
Блок 1. Вводим исходные данные A, Цикл I. Задаем начальные значения векторов x 0 i и хi (i = 1, 2, 3). Блок 5. Обнуляем счетчик числа итераций. Блок 6. Обнуляем счетчик текущей погрешности. Цикл II – счетчик номеров матрицы А и вектора i = 1: S = b 1 = 2 (блок 8). ––––––––––––––––––––––––––––––––––––––––––––––––––––––– Переходим во вложенный Цикл III, блок 9 – счетчик номеров столбцов матрицы А: j = 1. Блок 10: j = i, следовательно, возвращаемся к блоку 9 и увеличиваем j на единицу: j = 2. В блоке 10 j ¹ i (2 ¹ 1) – выполняем переход к блоку 11. Блок 11: S = 2 – (–1) × х 02 = 2 – (–1) × 0 = 2, и переходим к блоку 9, в котором j увеличиваем на единицу: j = 3. В блоке 10 условие j ¹ i выполняется, поэтому переходим к блоку 11. Блок 11: S = 2 – (–1) × х 03 = 2 – (–1) × 0 = 2, после чего переходим к блоку 9, в котором j увеличиваем на единицу (j = 4). Значение j больше n (n = 3) – заканчиваем цикл и переходим к блоку 12. Блок 12: S = S / a 11 = 2 / 4 = 0, 5. Блок 13: w = 1; S = S + 0 = 0, 5. Блок 14: d = | xi – S | = | 1 – 0, 5 | = 0, 5. Блок 15: xi = 0, 5 (i = 1). Блок 16: Проверяем условие d > de: 0, 5 > 0, следовательно, переходим к блоку 17, в котором присваиваем de = 0, 5 и выполняем возврат по ссылке «А» к следующему шагу цикла II – к блоку 7, в котором i увеличиваем на единицу: i = 2: S = b 2 = 4 (блок 8). ––––––––––––––––––––––––––––––––––––––––––––––––––––––– Переходим во вложенный Цикл III, блок 9: j = 1. Посредством блока 10 j ¹ i (1 ¹ 2) – выполняем переход к блоку 11. Блок 11: S = 4 – 1 × 0 = 4, и переходим к блоку 9, в котором j увеличиваем на единицу: j = 2. В блоке 10 условие не выполняется, поэтому переходим к блоку 9, в котором j увеличиваем на единицу: j = 3. По аналогии переходим к блоку 11. Блок 11: S = 4 – (–2) × 0 = 4, после чего заканчиваем цикл III и переходим к блоку 12. Блок 12: S = S / a 22 = 4 / 5 = 0, 8. Блок 13: w = 1; S = S + 0 = 0, 8. Блок 14: d = | 1 – 0, 8 | = 0, 2. Блок 15: xi = 0, 8 (i = 2). Блок 16: Проверяем условие d > de: 0, 2 < 0, 5; следовательно, переходим возврат по ссылке «А» к следующему шагу цикла II – к блоку 7: i = 3: S = b 3 = 6 (блок 8). ––––––––––––––––––––––––––––––––––––––––––––––––––––––– Переходим во вложенный Цикл III, блок 9: j = 1. Посредством блока 10 выполняем переход к блоку 11. Блок 11: S = 6 – 1 × 0 = 6, и переходим к блоку 9: j = 2. Посредством блока 10 выполняем переход к блоку 11. Блок 11: S = 6 – 1 × 0 = 6. Заканчиваем цикл III и переходим к блоку 12. Блок 12: S = S / a 33 = 6 / 4 = 1, 5. Блок 13: S = 1, 5. Блок 14: d = | 1 – 1, 5 | = 0, 5. Блок 15: xi = 1, 5 (i = 3). Согласно блоку 16 (с учетом ссылок «А» и «С») выходим из цикла II и переходим к блоку 18: Блок 18. Увеличиваем число итераций it = it + 1 = 0 + 1 = 1. В блоках 19 и 20 цикла IV заменяем начальные значения х 0 i полученными значениями хi (i = 1, 2, 3). Блок 21. Выполняем печать промежуточных значений текущей итерации, в нашем случае: Посредством блока 22 по ссылке «D» переходим к блоку 6 и de = 0. Переходим к циклу II на блок 7 и выполняем рассмотренные вычисления с новыми начальными значениями х 0 i (i = 1, 2, 3). После чего получим: х 1 = 1, 075; х 2 = 1, 3; х 3 = 1, 175. Блок 18. Увеличиваем число итераций it = it + 1 = 1 + 1 = 2. В блоках 19 и 20 цикла IV заменяем начальные значения х 0 i полученными хi (i = 1, 2, 3). Блок 21. Выполняем печать значений второй итерации:
|