Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Num_methods.doc
Скачиваний:
27
Добавлен:
01.12.2018
Размер:
1.02 Mб
Скачать

Численные методы поиска экстремумов функций одной переменной

Как было уже сказано, в общем случае функция может иметь несколько экстремумов (минимумов или максимумов). Задача поиска экстремумов сводится к их локализации и уточнению значений и в точке экстремума. Все рассмотренные ниже численные методы предполагают, что локализация экстремумов каким-либо образом произведена (например, графически или аналитически) и задача численных методов будет состоять в уточнении полученных результатов с заданной точностью . В дальнейшем для функций одной переменной под экстремумом будем подразумевать минимум. Будем считать, что [a,b], где a и b границы интервала поиска. В пределах отрезка [a,b] функция необязательно непрерывная, могут существовать разрывы первого рода. Достаточно чтобы функция на отрезке [a, b] была унимодальной, то есть, содержащей на указанном отрезке один минимум.

Метод равномерного поиска.

Этот метод основан на том, что переменной присваиваются значения c шагом h =const (шагом поиска), где i=0,1,2,… и вычисляются значения в соседних точкаx. Если , то переменной дается новое приращение. Как только становится , поиск останавливается и предпоследняя точка считается ответом.

Выбор (начального значения переменной ) определяется пользователем. Шаг поиска - фактическая погрешность определения результата. При поиске решения на отрезке, обычно в качестве начального приближения берут один из его концов, а при изменении переменной х предусматривается проверка на выход ее за границу отрезка.

Метод поразрядного приближения

является разновидностью метода равномерного поиска и реализуется следующим образом:

  1. Задаем начальное приближение слева от минимума функции и вычисляем , задаем начальный шаг поиска h (выбирается вычислителем), точность  определения результата поиска (для переменной ), берем i=0.

  2. Задаем и вычисляем .

  3. Проверяем условие , если оно выполняется, то идем к пункту 2, увеличивая на 1.

  4. Проверяем условие |h|  . Если оно выполняется, полагаем h = -h/10, увеличиваем на 1 и идем к пункту 2, т.е. обеспечиваем поиск минимума в другом направлении с шагом h/10.

  5. Выводим на печать полученное значение для переменной и функции .

Метод деления отрезка пополам (или метод дихотомии).

Поиск минимумана отрезке [a, b] на каждом шаге начинается с выбора двух точек и , где >0-постоянная, являющаяся параметром метода. Величина выбирается вычислителем и может определяться целесообразным количеством верных десятичных знаков при задании аргумента . Точки и расположены симметрично на [a, b] относительно его середины и при малых делят его почти пополам. Уточняем положение экстремума с заданной точностью .

Метод реализуется следующим алгоритмом:

  1. Проверяем условие |b-a|<. Если условие выполняется, идем к пункту 6.

  2. Делим интервал поиска [a, b] точками и .

  3. Для значений и вычисляем и .

  4. Проверяем условие . Если оно выполняется, полагаем и идем к пункту 1.

  5. Полагаем и идем к пункту 1.

  6. Выводим на печать и .

Упражнение 4. Зная начальные данные, оценить количество итераций в предложенном методе. Сколько раз вычисляются значения функции ?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]