Пусть функцию f(x) можно аппроксимировать полиномом третьего порядка. Тогда произвольно выбираем точку х1 и находим другую точку х2, такую, что производные f¢(x1) и f¢(x2) в этих точках имеют различные знаки. При этом стационарная точка , в которой
, будет находиться на отрезке [x1, x2].
Аппроксимирующий кубичный полином j(х) будет иметь вид [9]:
Коэффициенты уравнения (36) подбираются таким образом, чтобы значения j(х) и ее производной в точках x1 и x2 совпадали со значениями f(x) и f¢(x) в этих точках. Первая производная полинома j(х) имеет вид
Значения коэффициентов а1, а2 и а3 уравнения (36) вычисляются по известным значениям f(x1), f(x2), f¢(x1) и f¢(x2) путем решения рекурсивным методом системы следующих линейных уравнений
После того, как коэффициенты а1, а2, а3 найдены, оценка координаты стационарной точки функции f(x) производится с помощью аппроксимирующего полинома (36). Приравнивание к нулю производной (37) приводит к квадратному уравнению. В результате решения квадратного уравнения получаем следующую формулу для оценки координаты стационарной точки полинома
где
В результате получаем точку , расположенную между х1 и х2. Затем снова выбираются две точки для реализации процедуры кубичной аппроксимации -
и одна из точек х1 и х2, причем значения производной функции f(x) в этих точках должны быть противоположны по знаку. Описанная процедура повторяется до тех пор, пока не будет достигнута заданная точность оценки координаты точки х* экстремума функции f(x).
Алгоритм метода состоит из следующих формализованных процедур поиска.
1 Вычислить значение производной в начальной точке х0. Если значение
< 0, вычислить хk+1 = xk +2kD для k = 0, 1, …. Если
> 0, вычислить хk+1 = xk -2kD для k = 0, 1, ….
2 Вычислить значения в точках xk+1 при k = 0, 1, …, xm, где m – точка, в которой
. Положить х1 = xm-1, x2 = xm. Вычислить значения
3 Вычислить значение , используя формулы (33)-(35).
4 Если <
, то перейти к п. 5; иначе вычислять
по формуле
до тех пор, пока не будет выполняться неравенство
£
.
5 Провести проверку на окончание поиска. Если | | £ e1 и
£ e2, поиск закончить; иначе положить либо
0 коммент.:
Отправить комментарий