Объектно-ориентированное программирование на C++. Андрианова А.А - 32 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
2. Найти минимум одномерной унимодальной функции
)(xf
на
отрезке
[ ]
ba,
с помощью следующих методов:
метода деления отрезка пополам;
метода золотого сечения;
Написать программу, которая находит минимум функции на отрезке
тем методом, который выбирает пользователь. Метод минимизации
задается с помощью параметра – указателя на функцию.
Метод деления отрезка пополам заключается в следующем.
Выбирается произвольно число
d
:
abd
<<
0
. Находятся две точки,
которые расположены симметрично относительно середины отрезка на
расстоянии
2/d
:
2
1
dba
x
+
=
,
2
2
dba
x
++
=
. Если
)()(
21
xfxf
, то
полагают
2
xb
=
, в противном случае,
. Процесс продолжается до тех
пор, пока длина отрезка не станет меньше заданной точности
ε
(
d
>
ε
).
Метод золотого сечения заключается в следующем. Золотым
сечением отрезка
[ ]
ba,
называется деление отрезка на две неравные
части так, чтобы отношение длины всего отрезка к длине большей части
равнялось отношению длины большей части к длине меньшей части
отрезка. Такое деление осуществляют две точки отрезка, расположенные
симметрично относительно его середины. Выбираются две точки,
образующие золотое сечение отрезка
[ ]
ba,
:
( )
abax
+=
2
53
1
,
( )
abax
+=
2
15
2
. Если
)()(
21
xfxf
, то полагают
2
xb
=
, в противном
случае,
1
xa
=
. Процесс продолжается до тех пор, пока длина отрезка не
станет меньше заданной точности
ε
(
0
>
ε
).
32
                                       Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
     2. Найти минимум одномерной унимодальной функции f (x) на
отрезке [ a, b] с помощью следующих методов:
        • метода деления отрезка пополам;
        • метода золотого сечения;
    Написать программу, которая находит минимум функции на отрезке
тем методом, который выбирает пользователь. Метод минимизации
задается с помощью параметра – указателя на функцию.
    Метод деления отрезка пополам заключается в следующем.
Выбирается произвольно число d : 0 < d < b − a . Находятся две точки,
которые расположены симметрично относительно середины отрезка на
                           a+ b− d     a+ b+ d
расстоянии d / 2 : x1 =            ,     x2 =    . Если f ( x1 ) ≤ f ( x2 ) , то
                              2             2
полагают b = x2 , в противном случае, a = x1 . Процесс продолжается до тех
пор, пока длина отрезка не станет меньше заданной точности ε ( ε > d ).
    Метод золотого сечения заключается в следующем. Золотым
сечением отрезка [ a, b] называется деление отрезка на две неравные
части так, чтобы отношение длины всего отрезка к длине большей части
равнялось отношению длины большей части к длине меньшей части
отрезка. Такое деление осуществляют две точки отрезка, расположенные
симметрично относительно его середины. Выбираются две точки,
                                                     [ a, b] :              3−       5
образующие       золотое     сечение     отрезка                 x1 = a +                ( b − a) ,
                                                                                 2
         5−1
x2 = a +       ( b − a ) . Если f ( x1 ) ≤ f ( x2 ) , то полагают b = x2 , в противном
          2
случае, a = x1 . Процесс продолжается до тех пор, пока длина отрезка не
станет меньше заданной точности ε ( ε > 0 ).




32