Скачиваний:
0
Добавлен:
02.11.2025
Размер:
85.46 Кб
Скачать

Meтод Фибоначчи

В данном методе также реализована стратегия, обеспечивающая максимальное гарантированное сокращение интервала неопределенности при заданном количестве вычислений функции. Стратегия метола опирается на числа Фибоначчи.

Определение. Числа Фибоначчи определяются по формуле: F0 = F1 = 1, Fn = Fn-1 + Fn-2 (n = 2, 3…). Последовательность Фибоначчи: Fn = 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233… Метод относится к последовательным стратегиям. Перед началом работы алгоритма следует вычислить число N вычислений функции. Пусть известен начальный промежуток неопределенности L0 = [a0,b0] и задана точность  - длина конечного промежутка неопределенности. Тогда N вычисляется как наименьшее целое число, при котором верно неравенство:

Итерации алгоритма осуществляются по следующему алгоритму. На k-й итерации метода вычисляются координаты точек:

,

Очевидно, справедливо ,

то есть точки yk и zk выбираются симметрично внутри отрезка [ak, bk], причем yk < zk.

Следующий промежуток неопределенности определяется по правилу:

  1. Если , то , , ,

  2. Если , то , , ,

  3. Если , то , .

Работа алгоритма заканчивается, как только , при этом выполняется условие, что длина текущего интервала не станет меньше заданной наперед точности >0, которую называют требуемой точностью метода. При этом полагают где k-номер последней итерации.

Основная идея метода заключается в использовании чисел Фибоначчи для деления отрезка на меньшие части. Последовательность Фибоначчи определяется рекуррентной формулой:

• F(0) = 0

• F(1) = 1

• F(n) = F(n-1) + F(n-2) для n ≥ 2

Учитывая, что в каждый очередной интервал неопределенности попадает один предыдущий эксперимент, для продолжения поиска новую точку следует располагать в этом интервале симметрично оставшимся. Если обозначить через X(j) координату оставшейся точки на у-м этапе поиска, a S1y и S2j- — соответственно левую и правую границы очередного интервала неопределенности, то координата Xj+l новой точки задается соотношением:

Пример работы

Пример реализации метода Фибоначчи.

Таблица 2. Метод Золотого сечения

Метод

Фибоначчи:

 

 

 

 

Итерация

a

y

z

b

f(y)

f(z)

1

0.000000

0.381944

0.618056

1.000000

0.013937

0.013937

2

0.381944

0.472144

0.527856

0.618056

0.000776

0.000775

3

0.472144

0.527856

0.562344

0.618056

0.000776

0.003887

4

0.472144

0.506632

0.527856

0.562344

0.000044

0.000776

5

0.472144

0.493368

0.506632

0.527856

0.000044

0.000043

6

0.493368

0.506632

0.514591

0.527856

0.000044

0.000213

7

0.493368

0.501326

0.506632

0.514591

0.000002

0.000044

8

0.493368

0.498674

0.501326

0.506632

0.000002

0.000002

9

0.498674

0.501326

0.503979

0.506632

0.000002

0.000016

Результат:

 

 

 

 

 

x_min

=

0.501326

Число

итераций:

9

f_min

=

0.000002

 

 

 

Шаг 1

Вычисляется первая итерация, задаются начальные значения интервала L — интервала неопределённости, начало интервала A = 0, конец интервала B = 1. Вычисляются значения y и z, значения функций f(z) и f(y).

Шаг 2

На втором шаге значение начала интервала A становится равным y, а конца интервала B равным z, так как значения функций f(y) и f(z) равны. Значения начала и конца сдвигаются.

Шаг 3

На третьем шаге значение конца интервала B не меняется, а значение начала интервала A меняется и становится равным y, так как функция f(y) больше, чем f(z).

Шаг 4

На четвёртом шаге значение начала интервала A не меняется, а значение конца интервала B меняется и становится равным z, так как функция f(y) меньше, чем f(z).

Шаг 5

На пятом шаге значение начала интервала A не меняется, а значение конца интервала B меняется и становится равным z, так как функция f(y) меньше, чем f(z).

Шаг 6

На шестом шаге значение конца интервала B не меняется, а значение начала интервала A меняется и становится равным y, так как функция f(y) больше, чем f(z).

Шаг 7

На седьмом шаге значение начала интервала A становится равным y, а конца интервала B равным z, так как значения функций f(y) и f(z) равны. Значения начала и конца сдвигаются.

Шаг 8

На восьмом шаге значение начала интервала A не меняется, а значение конца интервала B меняется и становится равным z, так как вычисленное значение функции f(y) меньше, чем f(z).

Шаг 9

На девятом шаге значение конца интервала B не меняется, а значение начала интервала A меняется и становится равным y, так как функция f(y) больше, чем f(z).