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

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

Пусть f(x) кусочно-непрерывна функция на a x b и имеет на [a, b] только один локальный минимум.

Алгоритм метода золотого сечения

Шаг 1.

Задаем функцию f(x);

задаем интервал (x0, x1);

задаем погрешность .

Выбираем внутренние точки на интервале:

x2=x0+(x1-x0), x3=x1-(x1-x0),

где (для метода золотого сечения ).

Шаг 2.

Для шага t: xi, xj, xk, xl.

Определяем min{f(xi), f(xj), f(xk), f(xl)}:

пусть f(xi) < f(xj), f(xk), f(xl).

Отбрасываем ту точку, которая наиболее удалена от xi:

| xl - xi |>| xj - xi |,| xk - xi |.

Определяем порядок расположения точек на числовой прямой:

xk<xi<xj.

Выбираем новую точку x=xj+xk-xi и присваиваем ей очередной номер.

Шаг 3.

Если max|| xj(t)- xk(t) ||  , то = (xj+xk).

Иначе t=t+1, и переходим на шаг 2.

Замечание. Метод золотого сечения наиболее экономичен, он применим к недифференцируемым функциям, всегда сходится линейно.

Если на отрезке [a,b] несколько локальных минимумов, то он сойдется к одному из них, но не обязательно к наименьшему.

Метод парабол

Пусть функция f(x) два раза дифференцируема на интервале [a,b]. В основе метода парабол лежит условие минимума:

f(x)=0 .

Итерационный процесс метода парабол имеет вид:

. (12)

Итерационный процесс (12) является ньютоновским и вблизи экстремума с ненулевой второй производной сходится квадратично. Если f(x)=0, то сходимость будет линейной.

Для расчета f(x) и f(x) используют конечные разности. С учетом этого итерационный процесс (12) будет иметь вид: 

- . (13)

Внимание: на каждом шаге необходимо проверять, движемся ли мы к минимуму. Вторая производная в знаменателе (12) или (13) должна быть положительной.

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

Для этого:

вычислив x(t+1), проверяем f(x(t+1))> f(x(t)), если да, то приближение x(t+1) использовать нельзя;

делаем шаг в сторону убывания f(x). Рассчитываем шаг по формуле h=(x(t+1)-x(t)), где - const (например, = );

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

Замечание. Если функция имеет несколько локальных минимумов, то итерационный процесс может сойтись к любому из них.

1.6 Определение экстремумов функции многих переменных

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

2pz=(x-x0)2+(y-y0)2.

Рекомендация к выполнению задания

Программирование метода производится в среде разработки на выбор студента (Delphi, Borland C++, Turbo Pascal и т. д.).

Входные параметры программы:

X(0) ненулевое приближение;

 – погрешность.

Выходные параметры программы:

t число итераций;

X* точка минимума;

F(X*) значение функции в точке минимума.

Отчет по самостоятельной работе должен содержать:

постановку задачи;

блок-схему реализации вычисления минимума параболоида вращения;

программу решения задачи.

Исходные данные для выполнения лабораторной работы выбираются согласно таблицы 3.

Таблица 3 – Варианты лабораторной работы № 1.5

Номер варианта

Исходная система

Номер варианта

Исходная система

1

,

, ,

16

,

, ,

2

,

, ,

17

,

, ,

3

,

, ,

18

,

, ,

4

,

, ,

19

,

, ,