КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Метод простой итерации
Технология итерационного решения вида (25*) названа методом простой итерации. Оценка абсолютной погрешности для метода простой итерации , напомним, символ ||... || означает норму. Пример 1. Методом простой итерации с точностью e=0,001 решить систему линейных уравнений Число шагов, дающих ответ с точностью до e = 0,001, можно определить из соотношения £ 0,001. Оценим сходимость по формуле (26). Здесь || G || = = max{0,56; 0,61; 0,35; 0,61} = 0,61 < 1; = 2,15. Значит, сходимость обеспечена. В качестве начального приближения возьмем вектор свободных членов, т.е. = (2,15; –0,83; 1,16; 0,44)Т. Подставим значения вектора в формулы (25*): Продолжая вычисления, результаты занесем в таблицу:
Сходимость в тысячных долях имеет место уже на 10-м шаге. Ответ: х 1» 3,571; х 2» –0,957; х 3» 1,489; х 4» –0,836. Это решение может быть получено и с помощью формул (27*). Пример 2. Для иллюстрации алгоритма с помощью формул (27*), рассмотрим решение системы (только две итерации): ; . (30) Преобразуем систему к виду (25) согласно (27*): Þ (31) Возьмем начальное приближение = (0; 0; 0)Т. Тогда для k = 0 очевидно, что значение = (0,5; 0,8; 1,5)Т. Подставим эти значения в (31), т.е. при k =1, получим = (1,075; 1,3; 1,175)Т. Ошибка e2 = = max(0,575; 0,5; 0,325) = 0,575. Блок-схема алгоритма нахождения решения СЛАУ по методу простых итераций согласно рабочим формулам (27*) представлена на рис. 2.4. Рис. 2.4. Блок-схема метода простых итераций для решения СЛАУ
Особенностью блок-схемы являются блоки: (13) – назначение его рассмотрим ниже; (21) – вывод результатов на экран; (22) – проверка (индикатор) сходимости. Проведем анализ предложенной схемы на примере системы (30) (n = 3, w =1, e = 0,001): = ; . Блок 1. Вводим исходные данные A, , w, e, n: n = 3, w =1, e = 0,001. Цикл 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. Выполняем печать промежуточных значений текущей итерации, в нашем случае: = (0,5; 0,8; 1,5) T, it = 1; de = 0,5. Посредством блока 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. Выполняем печать значений второй итерации: = (1,075; 1,3; 1,175) T, it = 2; de = 0,575; и т.д.
Дата добавления: 2014-01-04; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |