КАТЕГОРИИ: Архитектура-(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) |
Приближенный поиск экстремумов
Если функция непрерывна на отрезке, то: если первая производная f' (x) не меняет знак на концах отрезка, то функция является монотонно убывающей, если f' (x) < 0, и возрастающей, если f’ (х) > 0. Монотонные функции достигают экстремума на концах отрезка; если на концах отрезка производная функции меняет знак, то экстремум находится внутри отрезка. Причем, если вторая производная больше нуля, то в точке экстремума функция достигнет минимума. Если вторая производная меньше нуля, то в точке экстремума функция достигает максимума. Поиск экстремума функции внутри отрезка может быть выполнен с помощью табулирования функции. Для этого достаточно в процессе табулирования сравнивать текущее значение функции с переменной, значение которой принято за максимум (минимум). Если на отрезке один экстремум, то наиболее эффективным методом поиска будет один из методов одномерной поисковой оптимизации. Для этой цели могут быть использованы те же методы, что и для уточнения корней: метод дихотомии, "золотого сечения", простых итераций. Пример9.4.13. Проанализировать функцию у = 5х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; Просмотров: 480; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |