Методы вычисления минимума функции одной переменной

Метод последовательного перебора

Суть метода показана на рис. 1.65. В качестве начальных данных метода задаётся начальное приближение корня x0 и начальный шаг перебора h. Из точки начального приближения осуществляется с шагом h перебор значений в сторону уменьшения функции до тех пор, пока очередное значение функции не станет больше предыдущего значения. На этом этапе выполняется уменьшение шага h, например в 4 раза, с изменением его знака:

h = –h / 4

Далее процедура перебора выполняется с новым шагом h и так далее до тех пор, пока значение h не станет меньше заданной погрешности. Минимальное значение будет соответствовать последнему х в переборе.

Методы вычисления минимума функции одной переменной - student2.ru

Рис. 1.65. Суть метода последовательного перебора

Метод деления отрезком пополам

Суть метода показана на рис. 1.66. В качестве начальных данных метода задается отрезок [a,b], внутри которого расположен минимум. Отрезок [a,b] точкой с делится пополам:

с = (a + b) / 2

Вычисляются значения функции f(с – e) и f(с + ε), где ε — заданная погрешность. В зависимости от соотношения этих значений отрезок [a,b] сужается до половинного значения. Если f(с – e) < f(с + ε), то полагается b = с + ε. Если f(с – e) > f(с + ε), то отрезок сужается до а = с – e. Для получившегося отрезка [a,b] вновь находится точка с и процесс продолжается до тех пор, пока b – a не окажется меньше погрешности e. Минимум функции будет в точке с = (a + b) / 2.

Недостатком метода является то, что при сужении отрезка [a,b] в два раза функцию надо вычислять тоже два раза в точках f(с – e) и f(с + ε). От этого недостатка избавлен метод золотого сечения

Методы вычисления минимума функции одной переменной - student2.ru

Рис. 1.66.Суть метода деления отрезка пополам

Метод золотого сечения

Суть метода показана на рис. 1.67. В качестве начальных точек задается отрезок [a,b], внутри которого расположен минимум. Отрезок [a,b] делится по правилу золотого сечения на три отрезка:

с = a + q, d = b – q,

где: q = 2 / (3 + 51/2) * (b – a).

Далее, как и в методе деления отрезка пополам, проверяется значения f(c) и f(d). Если f(c) < f(d), то отрезок [a,b] сужается переносом в точку b = d. При этом полагается d = c и образуется новая точка c = a + q. Если f(c) > f(d), то отрезок [a,b] сужается переносом а в точку a = c. При этом полагается c = d и образуется новая точка d = b - q. При каждом сужении отрезка [a,b] для работы метода функцию надо вычислять только один раз. Это самый эффективный метод из всех приведенных при условии, что известен отрезок [a,b] с минимумом.

Методы вычисления минимума функции одной переменной - student2.ru

Рис. 1.67. Суть метода золотого сечения

Методы вычисления корня функции одной переменной

Метод простой итерации

В методе уравнение f(x) = 0 сводится к уравнению

x = x + f(x) (1)

В качестве начального приближения задается значение x0. Далее по формуле (1) вычисляется новое значение x1. Если |x1 – x0|>E (E —заданная погрешность), то полагается x0 = x1 и опять по формуле (1) вычисляется x1. Процесс продолжается до тех пор пока |x1 – x0| не станет меньше заданной погрешности E. Корень уравнения при этом в x1.

Недостатком метода является его плохая сходимость при произвольной функции f(x). Очень часто метод вообще не сходится к корню.

Наши рекомендации