Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Применение метода простой итерации к решению
уравнения f(x) = 0 Пусть задано уравнение f(x) = 0 на отрезке [a; b]. Сводя задачу к уже решённой в предыдущем параграфе, достаточно представить это уравнение в виде h(x) = x со сжимающей функцией h: [a; b] ® [a; b]. Имеем f(x) = 0 Û (x – A·f(x)) = x, где A – ненулевая константа. Таким образом, можно считать, что h(x) = x – A·f(x) и нужно теперь так подобрать постоянную A, чтобы выполнялось условие сжимаемости отображения h. Для простоты будем предполагать, что функция f дважды непрерывно дифференцируема на [a; b] и для неё выполнена локализация корня так, что f монотонна и неизменно выпукла на [a; b], причём f(a)·f(b) < 0. Будем пользоваться выводами предыдущего параграфа, формулируя их в терминах функции f. Вначале подберём константу A так, чтобы функция h стала неубывающей: h¢ (x) = 1 – A·f¢ (x) ³ 0 Û A·f¢ (x) £ 1. Если f возрастает, то f¢ (x) > 0 и A £ при любом x Î [a; b], т.е. A £ . Если же f убывает, то f¢ (x) < 0, А ³ при любом x Î [a; b], т.е. A ³ . Величина | f¢ (x)| в условиях неизменной выпуклости функции f на отрезке [a; b] вычисляется легко: | f¢ (x)| = max{|f¢ (a)|, |f¢ (b)|}, причём |f¢ (a)| получается при f¢ ·f¢ ¢ < 0, а | f¢ (b)| – при f¢ ·f¢ ¢ > 0. Теперь воспользуемся результатами предыдущего параграфа: 1. условие h([a; b]) Í [a; b]: (h([a; b]) Í [a; b]) Û (h(a) ³ a и h(b) £ b) Û Û (a – A·f(a) ³ a и b – A·f(b) £ b) Û (A·f(a) £ 0 и A·f(b) ³ 0). В случае возрастающей функции f имеем f(a) < 0 < f(b), так что с учётом предыдущих ограничений 0 < A £ . Для убывающей функции f будет f(a) > 0 > f(b), и получаем £ A < 0. Отметим, что знак А совпадает со знаком sgn f¢ производной функции f. 2. коэффициент сжатия функции h(x) = x – A·f(x). Предыдущие рассмотрения гарантируют неравенство h¢ (x) = 1 – A·f¢ (x) ³ 0. Далее, h¢ ¢ (x) = –A·f¢ ¢ (x) = –sgn f¢ ·|A|·f¢ ¢ (x). Таким образом, знак h¢ ¢ (x) постоянен на отрезке [a; b] ипротивоположен знаку f¢ ·f¢ ¢. Поэтому, как следует из результатов предыдущего параграфа, условие сжимаемости отображения h будет выглядеть так: если f¢ ·f¢ ¢ ³ 0, то c = h¢ (a) = 1 – A·f¢ (a) < 1; если f¢ ·f¢ ¢ £ 0, то c = h¢ (b) = 1 – A·f¢ (b) < 1. Оба эти условия выполнены, т.к. A·f¢ > 0. Минимальный коэффициент сжатия получается, при |A| = , т.е. при A = . Таким образом, окончательно получаем: если f¢ ·f¢ ¢ ³ 0, то c = 1 – ; если f¢ ·f¢ ¢ £ 0, то c = 1 – . Поскольку величина A = зависит от знака производной, то формулы итерационного процесса тоже будут различны: при f¢ ·f¢ ¢ > 0: xn+1 = xn – , при f¢ ·f¢ ¢ < 0: xn+1 = xn – , (n Î N ), x0 Î [a; b]. Как и в предыдущем параграфе, можно улучшить начальное приближение, беря x0 = при h¢ ·h¢ ¢ > 0 и x0 = , если h¢ ·h¢ ¢ < 0. Поскольку h¢ ³ 0, а знак h¢ ¢ противоположен знаку f¢ ·f¢ ¢, окончательно имеем: если f¢ ·f¢ ¢ > 0, то x0 = , если f¢ ·f¢ ¢ < 0, то x0 = . Подытожим полученные выводы для решения уравнения f(x) = 0 методом простой итерации в предположении, что функция f дважды непрерывно дифференцируема и имеет знакопостоянные на [a; b] производные f¢ и f¢ ¢. Метод простой итерации для уравнения f(x) = 0 на [a; b]
1. Вычисляем знаки f¢, f¢ ¢ и f¢ ·f¢ ¢. 2. Записываем f(x) = 0 уравнение в виде x – A·f(x) = x, где A = , где M = |f¢ (b)| при f¢ ·f¢ ¢ ³ 0 и M = |f¢ (a)| при f¢ ·f¢ ¢ £ 0. 3. Коэффициент сжатия: с = 1 – при f¢ ·f¢ ¢ ³ 0, и с = 1 – , если f¢ ·f¢ ¢ £ 0. 4. Вычисляем начальное приближение x0: x0 = , если f¢ ·f¢ ¢ ³ 0 (можно просто x0 = b), и x0 = (или x0 = a), если f¢ ·f¢ ¢ £ 0. 5. Выполняем итерации: xn+1 = xn – A·f(xn) (n Î N ). 6. Останавливаем вычисления при n = или при одновременном выполнении условий |xn+1 – xn| £ D, |f(xn)| £ D, где D – заданная погрешность. Замечание: Если для выхода не вычисляется величина n, то коэффициент сжатия c вычислять нет необходимости. Это можно сделать в модельных примерах для контроля правильности вычислений. Полученные выводы о методе простой итерации для уравнения f(x) = 0 систематизированы в приложении (таблица III). Примеры: 1. Уточнить методом простой итерации корень уравнения ex–1 – 2·x = 0 на отрезке [0; 0, 9] с точностью до 0, 001. Здесь f(x) = ex–1 – 2·x имеет корень на [0; 9], т.к. f(0) = e–1 > 0, f(0, 9) = e–0, 1 – 1, 8 < 0. Производная f¢ (x) = ex–1 – 2 отрицательна на отрезке [0; 0, 9], т.к. f¢ (0, 9) = e–0, 1 – 2 < 0 и f¢ (x) возрастает: f¢ ¢ (x) = ex–1 > 0. Поэтому можно применить метод простой итерации. 1. Ясно, что f¢ < 0, f¢ ¢ > 0, f¢ ·f¢ ¢ < 0. 2. Составляем уравнение h(x) = x, где h(x) = x – A·(ex–1 – 2·x) и величина A = – » –0, 6127. 3. Коэффициент сжатия: c = » 0, 3873. 4. Выбираем начальное приближение x0 = 0 (без уточнения). 5. Производим итерации xn+1 = xn + 0, 6127·f(xn) (n Î N ), пока либо |xn+1 – xn| > 0, 001, либо |f(xn)| > 0, 001: Таким образом, приближённое значение корня 0, 232. Если применить уточнение корня, взяв x0 = »» –0, 2254, то итераций потребуется меньше. 2. Уточнить корень уравнения sin 2·x – ln x = 0 на отрезке [1, 2; 1, 5] с точностью до 0, 001. Имеем: f(x) = sin 2·x – ln x, f¢ (x) = 2·cos 2·x – . Ввиду неравенств < 2, 4 £ 2·x £ 3 < p величина cos 2·x на [1, 2; 1, 5] отрицательна, значит f¢ < 0, f убывает на [1, 2; 1, 5]. Кроме того, f(1, 2)» 0, 675 – 0, 082 > 0, f(1, 5)» 0, 141 – 0, 405 < 0, так что f имеет на рассматриваемом отрезке единственный корень. Далее, f¢ ¢ (x) = –4·sin 2·x + и sin 2·x убывает на [1, 2; 1, 5]. При этом 0, 5645» 4·sin3 £ 4·sin2·x £ 4·sin2, 4» 2, 7019 и 0, 4444» £ £ » 0, 6944. Значит, f¢ ¢ < 0 и можно применить метод простой итерации для уточнения корня. Ясно, что f¢ < 0, f¢ ¢ < 0, f¢ ·f¢ ¢ > 0. 1. Составляем уравнение h(x) = x, где h(x) = x – A·(sin 2·x – ln x), с коэффициентом » – 0, 3778. 2. Вычисляем коэффициент сжатия » 0, 1279. 3. Выбираем начальное приближение x0 = 1, 5 (без уточнения). 4. Производим итерации xn+1 = xn + 0, 3778·f(xn) (n Î N ), пока верно |xn+1 – xn| > 0, 001 или |h(xn+1) – xn | > 0, 001: Таким образом, приближённое значение корня 1, 400. Уточнив приближение x0 = » 1, 4001, и вычислив x1 = h(x0)» 1, 3994, получим |x1 – x0| = 0, 0007 < 0, 001, так что итераций не требуется. Замечание: Можно показать, что методы хорд и касательных являются (в достаточно малой окрестности корня) частными случаями метода простой итерации: достаточно уравнение f(x) = 0 заменить уравнением x – j(x)·f(x) = x. Для метода касательных нужно взять j(x) = , а для метода хорд j(x) = .
|