■ При несовпадении знаков переменной b присваивается значение хт, а в качестве f(b) запоминается значение f(xT).

В результате получается исходная ситуация: известны границы интервала а и b и известны значения функции на этих границах. Можно переходить к следующей итерации. Но, чтобы избежать зацикливания, на каждой итерации должны проверяться критерии окончания (4.3). Посмотрим, как они могут выглядеть практически. К сожалению, в методе хорд, в отличие от дихотомии, нельзя при оценке погрешности ориентироваться на длину интервала неопределенности. Этот интервал в процессе поиска может не уменьшаться до сколь угодно малой величины, как это имело место в дихотомии. Например, для выпуклых функций f(x) в процессе итераций будет всегда перемещаться только одна из границ диапазона, а или Ь, приближаясь к значению корня, а вторая граница не будет изменяться. Так что длина интервала неопределенности будет стремиться к конечной, ненулевой величине.

Поэтому в методе хорд, как и во всех тех методах, которые будут рассмотрены далее, в критерии окончания по заданной допустимой погрешности аргумента приходится ориентироваться не на интервал неопределенности, а на величину изменения аргумента в результате последней итерации. Вычисления завершаются, если на текущей итерации значение хт изменилось по сравнению с предыдущей итерацией на величину, меньшую, чем заданная допустимая погрешность по аргументу. К сожалению, очевидно, что такое окончание в действительности не гарантирует достижение заданной точности. То, что за одну итерацию значение оценки корня сдвинулось на небольшую величину, еще не означает, что корень близко. Не исключено, что корень расположен достаточно далеко и, чтобы достичь его с заданной точностью, требуется еще множество итераций, в каждой из которых оценка будет сдвигаться на небольшую величину. Так что в методе хорд задаваемая допустимая погрешность по аргументу - это только некоторая оценка и никогда нельзя утверждать, что корень рассчитан именно с заданной точностью. Единственный практический метод оценить точность найденного корня - повторить поиск с существенно уменьшенными допустимыми погрешностями. Тогда по изменению полученного значения можно оценить, насколько точно найден корень.

Критерий окончания по невязке в методе хорд остается тем же, что и в методе дихотомии. Только роль этого критерия возрастает, так как, в отличие от условности критерия по аргументу, этот критерий вполне определенный. Если задана допустимая погрешность невязки Af, а допустимые погрешности по аргументу заданы равными нулю, то в результате работы алгоритма будет найдена точка, в которой невязка гарантированно меньше допустимой.

Говоря об особенностях метода хорд, можно отметить следующее. Сходимость метода строго доказывается для функций f(x), в которых на интервале [а, Ь] вторая производная f "(х) имеет постоянный знак. Кстати, для таких функций в процессе поиска корня смещается только одна из границ, а или b, а вторая граница остается неизменной. Но, несмотря на доказанную сходимость только для такого сравнительно узкого класса функций, на практике метод сходится для подавляющего большинства функций. Если сравнивать скорости сходимости методов дихотомии и хорд, то метод хорд может сходиться как быстрее, так и много медленнее метода дихотомии. Все зависит от вида функции. Если функция близка к линейной, сходимость будет быстрой. Если же функция существенно нелинейная, то сходимость может быть очень медленной, а с учетом конечной и непредсказуемой погрешности поиска метод может дать вообще неверный результат. Так что область применения метода хорд довольно узкая - это поиск корня функции, близкой к линейной. А для функций общего вида более надежным является метод дихотомии.


⇐ Предыдущая страница| |Следующая страница ⇒

Приемы программирования в Delphi на основе VCL



Новости за месяц

  • Апрель
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31