зка [a n , b n ] чи не стане менше заданої величини Оµ.
Тепер розглянемо спосіб розміщення внутрішніх точок на кожному від різанні [a k , b k ]. Нехай довжина інтервалу невизначеності дорівнює l, а точка розподілу ділить його на частини l 1 , l 2 : l 1 > l 2 , l = l 1 + l 2 . Золотий перетин інтервалу невизначеності вибирається так, щоб відношення довжини більшого відрізка до довжини всього інтервалу дорівнювало відношенню довжини меншого відрізка до довжини більшого відрізка: (1)
З цього співвідношення можна знайти точку розподілу, визначивши відношення l 2 /l 1 . Перетворимо вираз (1), і знайдемо це значення:
В
l = l 2 l 1 , l = l 2 (l 1 + l 2 ),
l + l 1 l 2 - l = 0,
2 + - 1 = 0,
=.
Оскільки нас цікавить тільки позитивне рішення, то
.
Звідси l 1 k 1 l, l 2 k 2 l.
Оскільки заздалегідь невідомо, в якій послідовності ділити інтервал невизначеності, то розглядають внутрішні точки, що відповідають двом цим способам поділу. Крапки розподілу x 1 і x 2 вибираються з урахуванням отриманих значень для частин відрізка. У даному випадку маємо
x 1 - a 0 = b 0 - x 2 = k 2 sub> d 0 ,
b 0 - x 1 = x 2 - a 0 = k 1 sub> d 0 ,
d 0 = b 0 - a 0 .
Після першого кроку оптимізації виходить новий інтервал невизначеності - відрізок [a 1, b 1 ].
Можна показати, що точка x 1 ділить цей відрізок в необхідному відношенні, при цьому
b 1 - x 1 = k 2 d 1 , d 1 = b 1 - a 1 .
Для цього проведемо очевидні перетворення:
b 1 - x 1 = x 2 - x 1 = (b 0 - a 0 ) - (X 1 - a 0 ) - (b 0 - x 2 ) = d 0 - K 2 d 0 - k 2 d 0 = k 3 d < sub> 0 ,
d 1 = X 2 - a 0 = k 1 d 0 ,
b 1 - X 1 = k 3 (d 1 /k 1 ) = k 2 d 1 .
Друга точка розподілу x 3 вибирається на такій же відстані від лівої межі відрізка, тобто x 3 - a 1 = k 2 d 1 .
І знову інтервал невизначеності зменшується до розміру
d 2 = b 2 - a 2 = b 1 - x 3 sub> = k 1 d 1 = kd 0 .
Використовуючи отримані співвідношення, можна записати координати точок ділення y і z відрізка [a k , b k ] на k +1 кроці оптимізації (y
y = k 1 a k + K 2 b k ,
z = k 2 a k + K 1 b k . br/>
При цьому довжина інтервалу невизначеності дорівнює
d k = b k - a k = kd 0 .
Процес оптимізації закінчується при виконанні умови d k <Оµ. При цьому проектний параметр оптимізації становить a k k . Можна в якості оптимального значення прийняти x = a k (або x = b k , або x = (a k + b k )/2 і т.п.).
Блок-схема алгоритму
В
3. Програмна частина
3.1 Текст програми в середовищі MatLab
А. Програма обчислення максимуму:
function Maximum (a, b, eps)
% Maximum (a, b, eps) функція знаходження максимуму функції f (x)
% методом "золотого перетину" на відрізку [a, b] з точністю eps.
% Функція f (x) задається в M-файлі, що знаходяться в тій же діреккторіі. p>% (!) Для правильної роботи функції необхідно, щоб a
% шукане значення було б єдність на [a, b].
% -------------------------------------------- p>
% Побудуємо графік (необов'язково)
x = a: 0.001: b; y = f (x);
plot (x, y, 'k', a, f (a), '. b', b, f (b), '. b');
text (a, f (a), 'A', 'FontSize', 15); text (b, f (b), 'B', 'FontSize', 15);
...