Алгоритмизация и программирование задач. Петрова М.В. - 25 стр.

UptoLike

Составители: 

25
5.6.3. Найти экстремальное значение функции
2
||
cxbx
eay
+
= при изменения
аргумента x от 0 до 4 с шагом h. Функция такого вида имеет один экстремум.
Если
0>c , то следует искать минимум, если 0
<
c , то максимум.
Рассмотренный выше алгоритм нахождения наибольшего или наимень-
шего является универсальным, так как позволяет решить задачу даже в том слу-
чае, если функция не имеет экстремума или имеет несколько экстремумов. Если
же функция имеет один экстремум, то затраты времени на решение такой
задачи можно существенно сократить, используя другой алгоритм. Пусть функ-
ция имеет один максимум. Тогда вычисляя ее значения, лежащие до максимума,
всегда будем получать новое значение функции, большее, чем наибольшее из
всех предыдущих, т.е. всегда будет выполняться условие
max
yy
i
> . После мак-
симума функция начинает убывать; поэтому, все последующие
i
y будут мень-
ше наибольшего. Условие
max
yy
i
< можно использовать для выхода из цикла, так
как среди последующих значений функции не может быть наибольшего. Этот
процесс можно описать условной формулой
>
=
.,
;,
max
max
max
yyеслициклаизвыход
yyеслиy
y
i
ii
Аналогично для нахождения наименьшего значения
<
=
.,
;,
min
min
min
yyеслициклаизвыход
yyеслиy
y
i
ii
Рассматриваемая функция всегда положительна. В зависимости от знака
величины с она имеет максимум или минимум. Поэтому алгоритм должен на-
чинаться с проверки знака величины с.
Схема алгоритма приведена на рис.17. Блок 3 проверяет знак величины с,
и если он положительный, то
1
=
N (функция имеет минимум), а если отрица-
тельный, то
1=N (функция имеет максимум). Блок 6 задает начальное значе-
ние
m
y (экстремум). Если
1=N
, то
19
10=
m
y ; если
1
=
N
, то
19
10=
m
y . Блок 9 в
цикле проверяет условие
m
NyNy < . Если 1
=
N , то условие аналогично условию
m
yy < (как и надо при нахождении минимума); если 1=N , то условию
m
yy > (как и надо при нахождении максимума). Если условие
m
NyNy < выполня-
ется, то
y считается новым экстремальным значением функции. В противном
случае осуществляется выход из цикла к блоку 11. Выход из цикла может осу-
ществляться и естественным образом, когда цикл будет выполнен для всех зна-
чений аргумента
x
, и условие выхода из цикла ни разу не выполнится. Блок 11
выдает на печать значение
N признак экстремума и
m
y экстремальное зна-
чение. Сокращение времени счета осуществляется за счет выхода из цикла, если
условие
m
NyNy < не выполняется.