![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для поиска экстремумов в системе используется библиотечная функция вида
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; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!