86019 (Вычислительная математика), страница 2
Описание файла
Документ из архива "Вычислительная математика", который расположен в категории "". Всё это находится в предмете "математика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "математика" в общих файлах.
Онлайн просмотр документа "86019"
Текст 2 страницы из документа "86019"
f(x) = 0. (2.1)
Значение x*, при котором f(x*) = 0, называется корнем (или решением) уравнения (2.1).
Относительно функции f(x) часто предполагается, что f(x) дважды непрерывно дифференцируема в окрестности корня.
Корень x* уравнения (2.1) называется простым, если первая производная функции f(x) в точке x* не равна нулю, т. е. f '(x*) 0. Если же f '(x*) = 0, то корень x* называется кратным корнем.
Геометрически корень уравнения (2.1) есть точка пересечения графика функции y = f(x) с осью абсцисс. На рис. 2.1 изображен график функции y = f(x), имеющей четыре корня: два простых (x и x ) и два кратных (x и x ).
Рис. 2.1.
Большинство методов решения уравнения (2.1) ориентировано на отыскание простых корней уравнения (2.1).
2.2 Основные этапы отыскания решения
В процессе приближенного отыскания корней уравнения (2.1) обычно выделяют два этапа: локализация (или отделение) корня и уточнение корня.
Локализация корня заключается в определении отрезка [a, b], содержащего один и только один корень. Не существует универсального алгоритма локализации корня. В некоторых случаях отрезок локализации может быть найден из физических соображений. Иногда удобно бывает локализовать корень с помощью построения графика или таблицы значений функции y = f(x). На наличие корня на отрезке [a, b] указывает различие знаков функции на концах отрезка. Основанием для этого служит следующая теорема математического анализа.
Теорема 2.1. Если функция f непрерывна на отрезке [a, b] и принимает на его концах значения разных знаков, так, что f(a)f(b) < 0, то отрезок [a, b] содержит по крайней мере один корень уравнения f(x) = 0.
Однако, корень четной кратности таким образом локализовать нельзя, так как в окрестности такого корня функция f(x) имеет постоянный знак.
На этапе уточнения корня вычисляют приближенное значение корня с заданной точностью > 0. Приближенное значение корня уточняют с помощью различных итерационных методов. Суть этих методов состоит в последовательном вычислении значений x0, x1, …, xn, …, которые являются приближениями к корню x*.
2.3 Метод деления отрезка пополам (метод дихотомии, метод бисекции)
Метод деления отрезка пополам является самым простым и надежным способом решения нелинейного уравнения.
Пусть из предварительного анализа известно, что корень уравнения (2.1) находится на отрезке [a0, b0], т. е. x* [a0, b0], так, что f(x*) = 0.
Пусть функция f(x) непрерывна на отрезке [a0, b0] и принимает на концах отрезка значения разных знаков, т.е.
f(a0)f(b0) < 0. (2.2)
Разделим отрезок [a0, b0] пополам. Получим точку x0 = . Вычислим значение функции в этой точке: f(x0). Если f(x0) = 0, то x0 – искомый корень, и задача решена. Если f(x0) 0, то f(x0) – число определенного знака: f(x0) > 0, либо f(x0) < 0. Тогда либо на концах отрезка [a0, x0], либо на концах отрезка [x0, b0] значения функции f(x) имеют разные знаки. Обозначим такой отрезок [a1, b1]. Очевидно, что x* [a1, b1], и длина отрезка [a1, b1] в два раза меньше, чем длина отрезка [a0, b0]. Поступим аналогично с отрезком [a1, b1]. В результате получим либо корень x*, либо новый отрезок [a2, b2], и т.д. (рис. 2.2).
Рис. 2.2
Середина n-го отрезка xn = . Очевидно, что длина отрезка [an, bn] будет равна , а т. к. x* [an, bn], то
| xn – x*| . (2.3)
Погрешность метода. Оценка (2.3) характеризует погрешность метода деления отрезка пополам и указывает на скорость сходимости: метод сходится со скоростью геометрической прогрессии, знаменатель которой q = 1/2. Заметим, что оценка (2.3) является априорной.
Критерий окончания. Из соотношения (2.3) следует, что при заданной точности приближения вычисления заканчиваются, когда будет выполнено неравенство bn – an < 2 или неравенство n > log2((b0 – a0)/) – 1. Таким образом, количество итераций можно определить заранее. За приближенное значение корня берется величина xn.
Пример 2.1.
Найдем приближенно x = с точностью = 0.01. Эта задача эквивалентна решению уравнения x5 – 2 = 0, или нахождению нуля функции f(x) = x5 – 2. В качестве начального отрезка [a0, b0] возьмем отрезок [1, 2]. На концах этого отрезка функция принимает значения с разными знаками: f(1) < 0, f(2) > 0.
Найдем число n делений отрезка [1, 2], необходимых для достижения требуемой точности. Имеем:
| xn – x*| = 10-2,
n 6.
Следовательно, не позднее 6-го деления найдем с требуемой точностью, 1.1484. Результаты вычислений представлены в таблице 2.1.
Таблица 2.1
n | 0 1 2 3 4 5 6 |
an | 1.0000 1.0000 1.0000 1.1250 1.1250 1.1406 1.1406 |
bn | 2.0000 1.5000 1.2500 1.2500 1.1875 1.1875 1.1562 |
xn | 1.5000 1.2500 1.1250 1.1875 1.1406 1.1562 1.1484 |
Зн f(an) | - - - - - - - |
Зн f(bn) | + + + + + + + |
f(xn) | 5.5938 0.7585 -0.2959 0.1812 -0.0691 0.0532 -0.0078 |
bn – an | 1.0000 0.5000 0. 2500 0.1250 0.0625 0.0312 0.0156 |
2.4 Метод простых итераций
Пусть уравнение (2.1) можно заменить эквивалентным ему уравнением
x = (x). (2.4)
Например, уравнение – 0.5 = 0 можно заменить эквивалентным ему уравнением x = 0.5sinx.
Выберем каким-либо образом начальное приближение x0. Вычислим значение функции (x) при x = x0 и найдем уточненное значение x1 = (x0). Подставим теперь x1 в уравнение (2.4) и получим новое приближение x2 = (x1) и т. д. Продолжая этот процесс неограниченно, получим последовательность приближений к корню:
xn+1 = (xn). (2.5)
Формула (2.5) является расчетной формулой метода простых итераций.
Если последовательность {xn} сходится при n , т. е. существует
x* = xn , (2.6)
и функция (x) непрерывна, то, переходя к пределу в (2.5) и учитывая (2.6), получим:
x* = xn = (x n -1) = ( xn -1) = (x*).
Таким образом, x* = (x*), следовательно, x* – корень уравнения (2.4).
Сходимость метода. Сходимость метода простых итераций устанавливает следующая теорема.
Теорема 2.2. Если в интервале, содержащем корень x* уравнения (2.4), а также его последовательные приближения x0, x1, …, xn, …, вычисляемые по формуле (2.5), выполнено условие:
|'(x)| q < 1, (2.7)
то x* = xn.
т. е. итерационный процесс сходится и справедлива следующая оценка погрешности:
|xn – x*| qn|x0 – x*| (2.8)
Оценка (2.8) является априорной. Она показывает, что метод простой итерации сходится со скоростью геометрической прогрессии с знаменателем q. Чем меньше q, тем выше скорость сходимости.
Как следует из теоремы 2.2, условие (2.7) является достаточным для сходимости метода простых итераций. Его выполнение гарантирует сходимость процесса (2.5), но невыполнение условия (2.7), вообще говоря, не означает, что итерационный процесс будет расходиться.
На рис. 2.3 – 2.6 показаны четыре случая взаимного расположения линий y = x и y = (x) и соответствующие итерационные процессы.
Рис. 2.3 и 2.4 соответствуют случаю |'(x)| < 1, и итерационный процесс сходится. При этом, если '(x) > 0 (рис. 2.3), сходимость носит односторонний характер, а если '(x) < 0 (рис. 2.4), сходимость носит двусторонний, колебательный характер. Рис. 2.5 и 2.6 соответствуют случаю |'(x)| > 1 – итерационный процесс расходится. При этом может быть односторонняя (рис. 2.5) и двусторонняя (рис 2.6) расходимость.
Рис. 2.3 Рис. 2.4 Рис. 2.5
Рис. 2.6
Погрешность метода. Если известна величина q в условии (2.7), то применима следующая апостериорная оценка погрешности:
|xn – x*| |xn – xn – 1|, n > 1. (2.9)
Критерий окончания. Из оценки (2.9) вытекает следующий критерий окончания итерационного процесса. Вычисления следует продолжать до выполнения неравенства
|xn – xn – 1| < .
Если это условие выполнено, то можно считать, что xn является приближением к x* с точностью .
Если q 0.5, то можно пользоваться более простым критерием окончания:
|xn – xn – 1| < . (2.10)
Пример 2.2.
Используем метод простой итерации для решения уравнения f(x) = sin x – x2 = 0 с точностью = 0.001.
Преобразуем уравнение к виду (2.4):
x = , т. е. (x)= .
Нетрудно убедиться, что корень уравнения находится на отрезке [/6, /3]. Например, вычислив значения f(x) на концах отрезка, получим: f(/6)> 0, а f(/3)< 0, т. е. функция на концах отрезка имеет разные знаки, что в соответствии с теоремой 2.1 указывает на то, что внутри отрезка есть корень. Расположение корня наглядно иллюстрирует рис.2.7.