Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приближенный поиск экстремумов





Во многих задачах вычислительной математики требуется найти максимальное или минимальное значение функции (экстремум) на заданном отрезке [а; b]. Эк­стремум может находиться на концах отрезка (рис. 9.4.9 a) или внутри отрезка. Функция может быть выпуклая (выпуклая вверх) (рис. 9.4.9 б) или вогнутая (выпуклая вниз) (рис.9.4.9. в). Имеются простые способы анализа функций на отрезках, основанные на определении зна­ка первой и второй производной.

Если функция непрерывна на отрезке, то:

если первая производная f' (x) не меняет знак на концах отрезка, то функция является монотонно убывающей, если f' (x) < 0, и возрастающей, если f’ (х) > 0. Монотонные функции достигают экстремума на концах отрезка;

если на концах отрезка производная функции меня­ет знак, то экстремум находится внутри отрезка. При­чем, если вторая производная больше нуля, то в точке экстремума функция достигнет минимума. Если вторая производная меньше нуля, то в точке экстремума фун­кция достигает максимума.

Поиск экстремума функции внутри отрезка может быть выполнен с помощью табулирования функции. Для этого достаточно в процессе табулирования сравнивать текущее значение функции с переменной, значение которой принято за максимум (минимум).

Если на отрезке один экстремум, то наиболее эффективным методом поиска будет один из методов одномерной поисковой оптимизации. Для этой цели могут быть использованы те же методы, что и для уточнения корней: метод дихотомии, "золотого се­чения", простых итераций.

Пример9.4.13. Проанализировать функцию у = 2 - 8х + 1 на отрезке

[-1+1].

Решение. Находим первую производную функции y:

у' = 10 x - 8; у'(а) = -18; y'(b) = 2.

Функция имеет экстремум на заданном отрезке, так как первая производная на концах отрезка меняет знак. Вторая производная функции у" = 10, то есть боль­ше нуля. Следовательно, функция имеет на отрезке [-1; 1] точку минимума.

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

В отличии от метода итераций, метод "золотого сечения" не требует задания начального значения корня. Достаточно указать требуемую точность поиска. В этом методе отрезок отделения [а; b] делится на неравные части. Одна точка (D) задается на расстоянии 0,618, а другая (C) – на расстоянии 0,382 длины отрезка [а; b] от точки а (рис. 9.4.9) и определяют, в какой из точек С или D производная функции меняет знак по отношению к знаку производной от этой функции в точке а. Если в точке D производная функции знак не меняет, то сразу переходят к анализу отрезка [d, b].

Если в точке d производная функции меняет знак, то проверяют значе­ние производной функции в точке c. Если в точке c производная функции знак не меняет, то переходят к анализу отрезка [c,d], в противном случае анализируют отрезок [а, c]. Данный метод обеспечивает более быструю сходимость, чем метод дихотомии и метод итераций.

CLS

REM Определение экстремума функции методом золотого сечения

DEF fnf (x) = COS(x ^ 2) * 2

DEF fnf1 (x) = SIN(x ^ 2) +.5

INPUT "Введите границы отрезка А и В", a, b

INPUT "Укажите требуемую точность Е ", e

k = b

m1:

'CLS

c = a +.382 * (b - a): d = a +.618 * (b - a)

y = fnf(a) ' fnf – функция пользователя

y1 = fnf(b)

'PRINT a, c, d, b

PRINT y, y1

IF b - a < e THEN x = (b + a) / 2: PRINT "экстремум: "; x, "f'(b)="; y1, "f(b)="; fnf1(x): END

b = c: y1 = fnf(b)

IF y * y1 < 0 THEN GOTO m1

a = c: b = d: y = y1: y1 = fnf(b)

IF y * y1 < 0 THEN GOTO m1

a = d: b = k: y = y1: y1 = fnf(b)

IF y * y1 < 0 THEN GOTO m1

x = b:

PRINT "экстремум: "; x, "f'(b)="; y1, "f(b)="; fnf1(x)

END

 

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 453; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.