Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Нахождение экстремумов, максимумов и минимумов функций



Для поиска экстремумов в системе используется библиотечная функция вида

extrema( expr, constraints ) или extrema( expr, constraints, vars )

или extrema( expr, constraints, vars, 's' ).

Здесь expr – выражение, экстремум которого должен быть найден,

constraints – ограничение или множество ограничений,

vars – переменная или множество переменных,

s – имя.

Эта функция может использоваться для поиска экстремальных значений выражений от одной или нескольких переменных. Ограничения могут отсутствовать.

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

Обязательный параметр expr должен быть алгебраическим выражением. Ограничения могут задаваться выражениями или уравнениями. Если ограничение задано выражением, то считается, что это выражение приравнено к нулю. Если ограничения отсутствуют, то этот параметр задаётся в виде пустого множества {}.

Параметр vars должен содержать имена переменных, относительно которых ищется экстремум. Этим именам не может быть присвоено никаких значений. Напомним, что для этого, например, имена в самом операторе можно заключить в одиночные кавычки. Множество переменных можно не задавать. В этом случае используются все неопределенные имена в выражении expr и ограничениях.

Если используется параметр 's', то имена переменных должны быть указаны явно. В этом случае результат – множество точек эсктремума – будет возвращено указанной переменной s.

Напомним, что перед обращением к функциям основной библиотеки их необходимо загрузить командой readlib.

Примеры:

> readlib(extrema): extrema( x^2-1, {}, x );

{-1}

> extrema( x+y^2, {y=x}, {x,y} );

{-1/4}

> extrema( x*y*z, x+y+z=2, {x,y,z} );

{0, 8/27}

Для поиска максимумов и минимумов любых алгебраических выражений expr по одной или нескольким переменным vars используются функции вида

maximi z e( expr ) или maximi z e( expr, vars ) или maximi z e( expr, vars, 'infinite') или

maximi z e( expr, vars, ranges )

minimi z e( expr ) или minimi z e( expr, vars ) или minimi z e( expr, vars, 'infinite') или

minimi z e( expr, vars, ranges ).

Здесь ranges - диапазон или набор диапазонов, ограничивающих значения независимых переменных. Каждый диапазон может иметь вид a..b, где a и b – числа. Если задано несколько диапазонов, то этот параметр должен иметь вид {x1=a1..b1,...}. Концевые точки диапазонов включаются в множество, по которому ведется поиск.

Если переменные, относительно которых необходимо вести поиск минимума/максимума не заданы, происходит поиск относительно всех входящих в выражения независимых переменных.

Для поиска на всей числовой прямой используется параметр 'infinite'.

Функция maximi z e, вычисляет минимимум выражения, обратного к expr.

Примеры:

> minimize( x^2+y^2+3 );

> minimize( x^2 + y^2, {x, y}, {x=-10..10, y=10..20} );

> maximize(abs( x-5 )-abs( x )-abs( 7*x+3 ),x );

> maximize( 2-x^2,x, 'infinite');





Дата публикования: 2014-11-29; Прочитано: 204 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...