
- •1. Задание на проектирование
- •2. Анализ, формальная постановка и описание метода решения
- •2.1 Нелинейные и трансцендентные уравнения
- •2.2 Локализация корней
- •2.3 Уточнение корней
- •2.4 Методы уточнения корней
- •2.4.1 Метод половинного деления (бисекции, дихотомии)
- •2.4.2 Метод хорд
- •2.4.3 Метод Ньютона (метод касательных)
- •2.4.3.1 Сходимость метода Ньютона
- •2.4.3.2 Выбор начального приближения в методе Ньютона
- •2.4.4 Модифицированный метод Ньютона
- •2.4.5 Метод секущих
- •2.4.6 Метод простых итераций
- •3. Разработка алгоритма решения задачи
- •4. Реализация разработанного алгоритма
- •5. Тестирование разработанной программы
- •5.1 Ручной расчёт тестового примера
- •5.2 Решение тестовой задачи в MatLab
2.3 Уточнение корней
На
данном этапе задача состоит в получении
приближенного значения корня,
принадлежащего отрезку
,
с заданной точностью (погрешностью) .
Это означает, что вычисленное значение
корня
должно отличаться от точного
не более чем на величину :
.
Процедура
численного определения приближенных
значений корней нелинейных уравнений,
как правило, состоит в выборе начального
приближения к корню
и вычислении по некоторой формуле
последующих приближений
,
и т.д. Каждый такой шаг называется
итерацией (от латинского iteratio –
повторение), а сами методы уточнения –
итерационными методами. В результате
итераций получается последовательность
приближенных значений корня
,
которая называется итерационной
последовательностью. Если эти значения
с ростом k стремятся к точному значению
корня
:
, (2.3)
то говорят, что итерационный процесс сходится.
Сходимость итерационного процесса означает, что погрешность каждого последующего приближения должна быть меньше погрешности предыдущего приближения, т.е. погрешность приближенных значений с каждым шагом должна уменьшаться:
В общем случае это неравенство можно представить в виде:
,
(2.4)
где
и
– некоторые числа, значения которых
определяются методом уточнения корня.
От значений q и
зависит насколько с каждым шагом
уменьшается погрешность приближенных
значений и, соответственно, насколько
быстро можно получить приближенное
значение с заданной точностью. Главным
показателем скорости сходимости метода
является значение ,
называемое порядком сходимости. При
погрешность с каждым шагом убывает
линейно, в этом случае говорят о линейной
сходимости. Если
,
то говорят, что имеет место сверхлинейная
сходимость.
2.4 Методы уточнения корней
2.4.1 Метод половинного деления (бисекции, дихотомии)
Считаем,
что отделение корней уравнения (2.1)
проведено и на отрезке
расположен один корень, который необходимо
уточнить с погрешностью .
В качестве начального приближения корня
принимаем середину этого отрезка:
(рис. 2.5).
Затем
исследуем значение функции
на концах отрезков
и
.
Тот из отрезков, на концах которого
принимает значения разных знаков,
содержит искомый корень; поэтому его
принимаем в качестве нового отрезка
(на рис. 2.5 это отрезок
).
Вторую половину отрезка
,
на которой
не меняет знак, отбрасываем. В качестве
следующего приближения корня принимаем
середину нового отрезка
и т.д. Таким образом, k-е приближение
вычисляется как
.
(2.5)
После
каждой итерации отрезок, на котором
расположен корень, уменьшается вдвое,
а после k итераций в
раз:
.
(2.6)
Прекратить итерационный процесс следует, когда будет достигнута заданная точность, т.е. при выполнении условия
.
(2.7)
Поскольку
корень
принадлежит отрезку
,
а
– середина этого отрезка, то величина
всегда будет меньше половины длины
отрезка
(см. рис. 2.5), т.е.
.
(2.8)
Следовательно, условие (2.7) будет выполнено, если
.
(2.9)
Таким образом, итерационный процесс нужно продолжать до тех пор, пока не будет выполнено условие (2.9).
В
отличие от большинства других методов
уточнения, метод половинного деления
сходится всегда, т.е. обладает безусловной
сходимостью. Кроме этого он чрезвычайно
прост, поскольку требует лишь вычисления
значений функции
и, поэтому применим для решения любых
уравнений.
Однако метод половинного деления довольно медленный. С каждым шагом погрешность приближенного значения уменьшается в два раза, т.е. поэтому данный метод является методом с линейной сходимостью.
, (2.10)
Вычислим количество итераций N, требуемое для достижения заданной точности . Пользуясь выражением (2.6) можно выяснить для каких значений k будет выполнено условие (2.9), и взять в качестве N наименьшее из таких k:
,
,
(2.11)
где
– целая часть числа x. Например, при
и
получим
.
Замечание.
При реализации метода следует учитывать,
что функция
вычисляется с некоторой абсолютной
погрешностью
.
Вблизи корня значения функции
малы по абсолютной величине и могут
оказаться сравнимы с погрешностью ее
вычисления. Другими словами, при подходе
к корню мы можем попасть в полосу шумов
и дальнейшее уточнение корня окажется
невозможным. Поэтому целесообразно
задать ширину полосы шумов и прекратить
итерационный процесс при попадании в
нее. Если принять
,
то итерационный процесс можно завершать,
когда значение функции
после k-й итерации станет меньшим по
модулю .,
т.е.
. (2.12)
Также
необходимо иметь ввиду, что при уменьшении
интервала
увеличиваются погрешности вычисления
его длины
за счет вычитания близких чисел.